Spring Security/Конфигурирование с помощью пространства имён: различия между версиями

 
где <code>myAuthenticationProvider</code> имя бина в контексте вашего приложения, который реализует <code>AuthenticationProvider</code>. См. раздел 2.6, “Менеджер аутентификации и пространство имен” для получения дополнительной информации как конфигурировать <code>AuthenticationManager</code> в Spring Security с использованием пространства имен.
 
==== Добавление кодирования паролей ====
Часто данные пароля шифруются с помощью алгоритма хеширования. Эта возможность поддерживается элементом <code><password-encoder></code>. Конфигурация провайдера аутентификации с поддержкой алгоритма шифрования SHA будет выглядеть следующим образом:
 
<source lang="xml">
<authentication-manager>
<authentication-provider>
<password-encoder hash="sha"/>
<user-service>
<user name="jimi" password="d7e6351eaa13189a5a3641bab846c8e8c69ba39f"
authorities="ROLE_USER, ROLE_ADMIN" />
<user name="bob" password="4e7421b1b8765d8f9406d87e7cc6aa784c4ab97f"
authorities="ROLE_USER" />
</user-service>
</authentication-provider>
</authentication-manager>
</source>
 
Когда используются шифрованные пароли, то хорошей идеей будет «добавить соли» к паролю, что позволит защититься от атак с использованием словарей паролей, эта возможность так же поддерживается Spring Security. В идеале вы должны использовать случайным образом сгенерированные значения «соли» для каждого пользователя, но можно использовать и любое из свойств объекта <code>UserDetails</code>, который загружается <code>UserDetailsService</code>.
 
<source lang="xml">
<password-encoder hash="sha">
<salt-source user-property="username"/>
</password-encoder>
</source>
 
Вы можете установить свой собственный шифратор паролей с помощью атрибута <code>ref</code> элемента <code>password-encoder</code>. Он должен содержать имя бина из контекста приложения, который является экземпляром Spring Security интерфейса <code>PasswordEncoder</code>.
 
== Дополнительные возможности для веб ==
 
= Примечания =
61

правка