我正在尝试使用spring 3.0创建一个应用程序 . 现在我决定尝试一下Spring-security和hibernate . 我已经看到有可能用数据库支持它,我看到了定义你自己的查询的引用?
现在我遇到的问题是我发现的教程不太清楚,他们认为用户只能有一个角色 . 我想给一些用户多个角色 .
所以我在考虑一个数据库方案:
User:
-
user_id
-
用户名
-
密码
-
registrationDate
User_Role:
-
user_id
-
role_id
Role:
-
role_id
-
rolename
现在我想知道是否有人有一些指向一些有用的教程/建议/评论 .
2 回答
您需要实现自己的UserDetails(为每个用户支持多个角色) . 然后,您自己的UserDetailsService实现会返回此自定义UserDetails实现,该实现将在daoAuthenticationProvider上注入 .
有关完整示例,另请参阅我的答案@ Spring Security 3 database authentication with Hibernate .
像这样的东西:
而UserDao实现是一个简单的DAO,可以轻松使用hibernate注释并为您的CustomUser对象分配多个角色 . 很基本的 .