如何做基于角色的URL授权?

时间:2018-07-15 12:25:21

标签: spring-mvc spring-security

Java 8 + Spring MVC 4

我正在学习该程序,遇到了一种情况。

有不同的角色

1)管理员

 i)  ABC Admin 

ii)  XYZ Admin

2)正常

ABC管理员登录系统并创建了合同,合同的合同编号为:123

编辑URL为:localhost:8080/myApp/contract/edit/123

XYZ Admin登录到系统,然后在浏览器中复制粘贴到编辑URL上方。 (理想情况下,XYZ Admin不能编辑ABC admin合同,反之亦然)

我需要一些建议/想法,为此我应该使用什么。

我在Google上进行了搜索,并获得了春季安全防护。

1 个答案:

答案 0 :(得分:0)

您可以使用

@PreAuthorize("hasAnyRole('ROLE_ADMIN','ROLE_USER')")用于通过单个方法访问多个角色

@PreAuthorize("hasRole('ROLE_ADMIN')")仅在Controller / DAO类中的方法级别上具有一个角色。