Комментарии 6
Получать информацию о пользователях из БД можно и без реализации дополнительных интерфейсов. Единственное, нужно будет объявить DataSource бин, через который Spring залезет в БД. А authentication-provider можно тогда объявить примерно так:
Т.е. нужно отдать Спрингу небольшой sql, который достанет из базы имя пользователя, пароль, флаг, не заблокирован ли пользователь, и роли пользователя.
Также авторизованный доступ можно вешать не только на URLы, но и на Java методы.
<authentication-provider>
<jdbc-user-service data-source-ref="dataSource"
users-by-username-query="select username, password, enabled
from users where username = ?"
authorities-by-username-query="select u.username, au.authority
from users u, authorities au
where u.id = au.user_id and u.username = ?" />
</authentication-provider>
Т.е. нужно отдать Спрингу небольшой sql, который достанет из базы имя пользователя, пароль, флаг, не заблокирован ли пользователь, и роли пользователя.
Также авторизованный доступ можно вешать не только на URLы, но и на Java методы.
+1
Ну еще неплохо было написать, что если форму и url не задавать в http spring-security то по умолчанию будет работать basic auth
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Краткий обзор Spring Security