【发布时间】:2015-08-05 09:18:32
【问题描述】:
我想做的是构建 CRUD REST 服务。它将维护用户及其记录的数据库。我想让用户只能访问他们自己的记录。 我使用 Spring Security 进行身份验证并存储使用 Bcrypt 散列的用户密码。我现在只能理解我的 spring-security.xml 应该像:
<security:http auto-config='true'>
<security:intercept-url pattern="/**" access="hasRole('ROLE_USER')" />
<security:http-basic />
</security:http>
<security:authentication-manager>
<security:authentication-provider>
<authentication-provider>
<password-encoder ref="encoder" />
<jdbc-user-service data-source-ref="dataSource"
users-by-username-query="select username,password, enabled from users where username=?"
authorities-by-username-query="select username, role from user_roles where username =?" />
</authentication-provider>
</security:authentication-provider>
</security:authentication-manager>
但对于服务的进一步工作,我需要确切知道哪个用户已获得授权。那我怎么能这样做呢?对于相关问题,有办法绕过在数据库中主线用户的角色,因为没有更多的角色计划。
【问题讨论】:
-
可以在会话中使用Authentication对象
标签: spring authentication spring-security crud