Spring Security/Ключевые сервисы Spring Security: различия между версиями

Содержимое удалено Содержимое добавлено
м Oleg3280 переименовал страницу Ключевые сервисы Spring Security в Spring Security/Ключевые сервисы Spring Security: для объединения в книгу Spring Security
{{BookCat}} и убрал шаблон Внимание
Строка 1:
{{Внимание|'''Данная статья нарушает правила оформления статей проекта «Викиучебник». Необходимо перенести ее в книгу [[Spring Security]] и оформить в соответствии с правилами оформления книг.'''}}
Эта статья представляет собой перевод Spring Security Reference Documentation, Ben Alex, Luke Taylor 3.0.2.RELEASE, Глава 6, Ключевые сервисы.
 
Строка 121 ⟶ 120 :
Когда аутентификационному провайдеру (такому как <code>DaoAuthenticationProvider</code>) нужно сверить пароль, присланный в аутентификационном запросе со значением, которое известно для данного пользователя и пароль хранится в закодированном виде, то тогда присланное значение должно быть закодировано с помощью точно такого же алгоритма. Совместимость алгоритмов это полностью ваша зона ответственности. Spring Security не может контролировать хранимые значения. Если вы добавили хеширование паролей в конфигурацию аутентификации Spring Security, а в базе данных пароли хранятся в виде обычного не шифрованного текста, то в это случае аутентификация не произойдет ни при каких обстоятельствах. Например, даже если вы знаете что в базе данных используется MD5 кодирование и ваше приложение сконфигурировано так, чтобы использовать <code>Md5PasswordEncoder</code> из состава Spring Security, то все равно есть возможность получить ошибку. В базе данных кодированные пароли могут храниться в виде <tt>Base64</tt> , а кодировщик Spring Security например будет использовать строки с шестнадцатеричными значениями (по умолчанию) [5]. Или в базе данных сведения будут хнариться в верхнем регистре, а результат работы кодировщика будет в нижнем регистре. Обязательно напишите тест, который будет сверять результат работы настроенного кодировщика (на основе известного пароля и «соли») с данными хранящимися в базе данных, до того как двигаться дальше и применять механизм аутентификации в вашем приложении. Для получения дополнительной информации, как по умолчанию происходит слияния соли и пароля, см. Javadoc для <code>BasePasswordEncoder</code>. Если вы захотите создавать закодированные пароли непосредственно в Java коде и уже их сохранять в базе данных, то вы можете использовать метод <code>encodePassword</code> класса <code>PasswordEncoder</code>.
 
{{BookCat}}
 
[[Категория:Программирование]]
[[Категория:Языки программирования]]
[[Категория:Java]]