| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > GWT логин форма |
| Автор: Samotnik 17.12.2010, 00:37 |
| привет Вроде задание - самые азы и основы веб программирования, но скажу честно, я никогда с этим не сталкивался. Задание: сделать логин форму, чтобы зарегистрированные пользователи могли заходить под своим логином/паролем, и соответственно дальнейшее назначение прав. Интересует литература по этому вопросу, Ваши рекомендации, пожелания, частые ошибки. С чего начать ? |
| Автор: Teresh 17.12.2010, 04:25 | ||
Пример простейшей формы логин-пароль:
action -имя сервлета, который обрабатывает Ваш запрос Далее либо в сервлете, либо в классе, на который сервлет перенаправляет команду подключаться к БД и искать пользователя с введёнными данными. Найден - отлично, переход на какую-то страницу, иначе "вы ввели неверный логин или пароль". |
| Автор: Vladus 17.12.2010, 10:46 |
| а почему бы просто не воспользоватся spring security? лучше и проще имхо не найти http://static.springsource.org/spring-security/site/docs/3.0.x/reference/springsecurity.html |
| Автор: alexsaltykov 17.12.2010, 10:55 |
| есть еще jaas есть книга jaasbook там есть примеры по данной теме, но она на английском |
| Автор: Samotnik 17.12.2010, 12:21 |
| Vladus, спринга в проекте нету, и я его не знаю :( Не знаю что делать, начать его использовать или нет ... Добавлено через 34 секунды кстати, вся клиентская часть должна быть на gwt, это не помеха юзать спринг ? |
| Автор: Vladus 17.12.2010, 13:03 | ||
| ну писать веб приложение без спринга как то грустно имхо просто вопрос стоял
я бы использовал спринг секьюрити. использовать его с гвт можно, проблем быть не должно, ссылок в гугле масса, например http://raibledesigns.com/rd/entry/integrating_gwt_with_spring_security написать свою логин форму - проблем нет никаких, да и в раздаче прав и настройки фильтров вроде тоже нет ничего военного, но не вижу смысла изобретать велосипед в общем смотрите сами, но я как то прикручивал секьюрити к проекту, особых проблем не было, все красиво и просто, рекомендую |
| Автор: Samotnik 17.12.2010, 14:57 |
| Vladus, спасибо конечно, но я думаю это не очень хорошая идея в приложение без спринга тянуть спринг только ради аутентификации пользователей. Но и велосипед изобретать не хочется, нужно вменяемое, проверенное временем и протестированное решение на gwt. |
| Автор: Samotnik 20.12.2010, 17:06 |
| ну что, народ, как думаете стоит спринг в проект тянуть для логина, если проект написан не на спринге ? |
| Автор: SoulSeeker 2.1.2011, 12:28 |
| Samotnik, я для себя делал простую авторизацию с учетом куков исходя из этого примера: http://pyha.ru/articles/php/auth/ . Там php, но логика одна и та же. На GWT переписать очень просто. Если надо, могу скинуть свой код. |
| Автор: Samotnik 13.1.2011, 23:15 |
| SoulSeeker, спасибо, так примерно и сделал. Т.е. просто сохраняю в сессии логин и пароль. Но появилась проблема. Если зайти на логин страницу, ввести логин/пароль, если успешно - то перекидывает на следующую страницу, а потом, если нажать кнопку назад в браузере, то опять попадаешь на логин форму Как это побороть ? |
| Автор: SoulSeeker 15.1.2011, 23:18 |
| Samotnik, тут все дело в куках. При успешной авторизации в них надо загонять что-нибудь, а потом проверять при последующих заходах. У меня при загрузке приложения происходит попытка авторизации, для этого из cookies выдирается логин и хэш пароля. На историю, в принципе, тоже можно накатить такую же логику. |
| Автор: Samotnik 16.1.2011, 14:47 |
| SoulSeeker, не понимаю, чем отличаться будет хранение данных в куках, от того что я храню их сейчас в сессии ? |
| Автор: SoulSeeker 17.1.2011, 17:35 |
| Тут такое дело. Сессия - это для сервака, клиент про нее ничего не знает. Поэтому при успешной авторизации в куках должны осесть логин (или id) пользователя и md5 его пароля. Далее происходит следущее: при загрузке любой страницы изначально перед показом формы надо вытащить из куков id и пароль и попробовать авторизоваться на сервере. Если все ок, то пускать дальше без логин формы. У тебя, я так понял, идет работа с объектом History в GWT, поэтому надо на нее вешать хэндлер, чтобы при каждом смене url проверялась авторизация через куки. |
| Автор: zxspec 8.2.2011, 00:31 |
| Если вопрос литературы ещё актуален, то книга http://www.amazon.com/Essential-GWT-Building-Toolkit-Developers/dp/0321705149 - 100% то что доктор прописал. У него детально описан опыт борьбы с логин-формой и History class. |