我几天都在苦苦思索如何通过Spring Security在Spring Boot应用程序中实现一个userAccount角色之间的切换。 在我的案例中有一个例子:
我有一个 [UserAccount] {Id,用户名,密码,isActive} 和 [Role] {Id,roleName,description} ,我用它来使用一些 @Secured RESTful方法实现一个成功的简单登录系统 我的职责是:ADMIN,TEACHER& STUDENT
现在,我想为每个角色(例如StudentUser,TeacherUser,AdminUser)或类似的东西创建一个类,以便能够添加一些在所有用户之间不常见的新属性。
例如:
我如何以最佳和有效的方式处理这个问题?感谢。
答案 0 :(得分:1)
问题在于您希望将几个实体绑定在一起 - 帐户,人员,角色。我建议你把它们分开:
在Spring Security中,根据帐户人员的(活动)学生/教师/管理员关系分配GrantedAuthority
- s(角色)。
在您的前端,您将看到登录人员具有哪些角色,您可以允许他们在基于角色的视图之间切换。
<强>更新强>
为了澄清,这就是类图的样子:
您不需要为角色设置单独的类/表,因为角色由给定Person的Student / Teacher / Admin对象的存在决定。但是如果你出于某些原因需要它,你可以在那里添加它 - 可能Account会有1..n角色。
答案 1 :(得分:0)
谢谢大家,我解决了这个问题:继承自Profile,每个角色都拥有自己的个人资料类,因此用户将拥有多个个人资料。