Spring Security基于角色或权限进行访问控制以及403页面自定义

Posted 爱上口袋的天空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Security基于角色或权限进行访问控制以及403页面自定义相关的知识,希望对你有一定的参考价值。

1、hasAuthority 方法

如果当前的主体具有指定的权限,则返回 true,否则返回 false

 

 

重新启动,测试:

 

 

修改MyUserDetailsService:

 

 测试:

 

2、hasAnyAuthority 方法

如果当前的主体有任何提供的角色(给定的作为一个逗号分隔的字符串列表)的话,返回 true.

 

 

3、hasRole 方法

如果用户具备给定角色就允许访问,否则出现 403。 如果当前主体具有指定的角色,则返回 true。 底层源码:

给用户添加角色:

 

修改配置文件: 注意配置文件中不需要添加”ROLE_“,因为上述的底层代码会自动添加与之进行匹配。

 

 

4、hasAnyRole

表示用户具备任何一个条件都可以访问。 给用户添加角色:

修改配置文件:

 

5、配置403没有权限页面

5.1、修改访问配置类

配置成上面这样不起作用,修改如下:

 

5.2、测试

以上是关于Spring Security基于角色或权限进行访问控制以及403页面自定义的主要内容,如果未能解决你的问题,请参考以下文章

Spring Security 基于用户的权限? (不基于角色)

Spring Boot Security

Spring security-完美权限管理系统(授权过程分析)

如何使用 LDAP 和基于角色的数据库授予权限来实现 Spring Security?

基于RBAC的权限控制浅析(结合Spring Security)

基于RBAC的权限控制浅析(结合Spring Security)