我已经为用户和管理员提供了spring security。仅为经过身份验证的用户授予访问权限,某些页面仅允许管理员使用。但这几乎是默认配置。
现在我想在spring security中添加第三个角色(让它命名为crip)。这三个角色就像是俄罗斯的嵌套娃娃:用户可以访问3页,crip可以访问这些3页+ 2个其他人,管理员是超级用户,因此他可以访问所有内容。
在hibernate / JPA方面,为autorities和user table之间的onetomany关系或只有一个角色的用户使用一组角色会更好吗?此角色将被定义为分层:Admin> crip>用户。
如果角色的定义是执行此操作的最佳方式,那么在Spring安全方面,如何配置角色包含:Admin> crip>用户?
我发现@manytoone和@manytomany用户和角色之间的关系,这就是我问这个问题的原因。
答案 0 :(得分:0)
从我理解的问题来看,你已经有了基本配置并且已经开始运作了。
所以只需将其添加到拦截网址列表
如果您想允许角色访问 - 管理员,清晰用户或用户
<intercept-url pattern="/pagesForCrispAndAdminAndUser**" access="hasAnyAuthority('Admin', 'crisp', 'user')" />
仅限管理员
<intercept-url pattern="/pagesForAdmin**" access="hasAuthority('Admin')" />
允许管理员和用户
<intercept-url pattern="/pagesForAdminAndUser**" access="hasAnyAuthority('Admin', 'user')" />
文档here