在spring security 4 / JPA / Hibernate

时间:2015-12-10 11:07:43

标签: java spring hibernate jpa spring-security

我已经为用户和管理员提供了spring security。仅为经过身份验证的用户授予访问权限,某些页面仅允许管理员使用。但这几乎是默认配置。

现在我想在spring security中添加第三个角色(让它命名为crip)。这三个角色就像是俄罗斯的嵌套娃娃:用户可以访问3页,crip可以访问这些3页+ 2个其他人,管理员是超级用户,因此他可以访问所有内容。

在hibernate / JPA方面,为autorities和user table之间的onetomany关系或只有一个角色的用户使用一组角色会更好吗?此角色将被定义为分层:Admin> crip>用户。

如果角色的定义是执行此操作的最佳方式,那么在Spring安全方面,如何配置角色包含:Admin> crip>用户?

我发现@manytoone和@manytomany用户和角色之间的关系,这就是我问这个问题的原因。

1 个答案:

答案 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