![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Atum |
|
||||||||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 3.10.2008 Репутация: нет Всего: нет |
Добрый день! Вопрос такой
Чем FORM authentication лучше BASIC authentication ?! Задался таким вопросом - ведь при BASIC authentication - пароль передается в заголовке и при этом хранится там постоянно . а при FORM authentication - пароль и логин передаются в теле POST запроса (в открытом виде ? так или нет). вот мой пример ! По ходу написания примера буду задавать сопутствующие вопросы ! (выделю их жирным) что делаю - есть проект WebApplication1 - созданный в netbeans ( добавлены несколько jsp страниц , один сервлет и один фильтр) Есть tomcat 7 для BASIC authentication Для примера у меняя будет : пользователь user - пароль user1 - role user_role пользователь root - пароль root1 - role root_role Используется собственное окно браузера : 1. Прописываем ему web.xml
2. Tomcat - tomcat-users.xml
3. server.xml Вопрос ! Нужно ли это прописывать в server.xml ?
Первая проблема - это - проблема как выйти и зайти под другим пользователем ! Ибо в таком режиме авторизации пароль постоянно ходит в заголовке ! Сначала сделал так : 4. logout (logout.jsp)
Пришлось делать так !
Минус в том что мы не попадаем на главную страну ! Как его обойти ? FORM authentication для наглядности я взял и создал таблицу для хранения логина и пароля в mysql чтобы не создавать две таблицы user и role - я поместил все данные в одну таблицу с полями id- name - password - role 1. Меняем тип авторизации в web.xml :
2. Удаляем все что вставили в tomcat-users.xml 3. Создаем login.jsp
3. в context.xml добавим коннект к базе и Realm
тут важно добавить Realm className="org.apache.catalina.realm.DataSourceRealm Пароль и логин передаются в теле пост запроса . Хочется как то это изменить !? |
||||||||||||||||
|
|||||||||||||||||
mbasil |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 399 Регистрация: 4.5.2007 Где: Москва Репутация: 9 Всего: 13 |
В чем вообще проблема? Небезопасен и тот и другой вариант.
По хорошему надо аутентифицировать через SSL. |
|||
|
||||
Atum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 3.10.2008 Репутация: нет Всего: нет |
Еще есть дайджест аутентификация. Да ssl - это самое безопасное из всего перечисленного. Но иногда требуется и простая авторизация . вопрос как сделать авторизацию через форму с шифрованием пароля ? |
|||
|
||||
mbasil |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 399 Регистрация: 4.5.2007 Где: Москва Репутация: 9 Всего: 13 |
Можно зашифровать функцией JavaScript.
Однако это будет открыто для самого пользователя. На мой взгляд, если все данные шифровать не требуется используйте HTTP, и только запрос и возврат формы аутентификации через HTTPS |
|||
|
||||
mbasil |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 399 Регистрация: 4.5.2007 Где: Москва Репутация: 9 Всего: 13 |
Кстати мое предыдущее сообщение грешит неполнотой.
Если мы основные страницы будем передавать через HTTP, то злонамерененный кадр может, перехватив HTTP запрос, из куки или из переопределнного URL выковырять ID клиента и заслать свой запрос с этим же ID. Я не знаю, храниться ли ID сам по себе или совместно с адресом из которого пришли полномочия? Если аутентифицированный клиент распознается только по ID, то при использовании HTTP с возможностью перехвата ID проблема не снимается и в этом случае надо использовать HTTPS на протяжении всего сеанса. Это сообщение отредактировал(а) mbasil - 31.1.2013, 11:03 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |