前言
描述: Spring Security 入门系列文章。
【1】Spring Security 用户认证
【2】Spring Security 用户授权
1 hasAuthority
1.1 配置
描述: 如果当前的主体具有指定的权限,则返回 true,否则返回 false。通俗来说针对某一个权限。
1.2 修改UserDetailsService
1.3 创建controller
1.4 测试
描述: 访问url:http://localhost:8888/admin/hello会重定向到登录页面,使用customer账号进行登录。
描述: 访问url:http://localhost:8888/admin/hello会重定向到登录页面,使用admin账号进行登录。
2 hasAnyAuthority
2.1 配置
描述: 如果当前的主体有任何提供的角色(给定的作为一个逗号分隔的字符串列表)的话,返回true。通俗来说针对多个权限。
2.2 controller
2.3 测试
描述: 使用customer、admin账号登录都能访问该路径。
3 hasRole 方法
3.1 配置
描述: 如果当前主体具有指定的角色,则返回 true。
注意: hasRole校验时会加前缀。
3.2 修改UserDetailsService
3.3 测试
描述: 使用customer用户登录无法访问接口http://localhost:8888/admin/hello,使用admin用户登录可以访问该接口。
admin访问
custoemr访问
4 hasAnyRole
4.1 配置
描述: 表示当前主体具备任何一个条件都可以访问。
4.2 测试
描述: 使用custoemr、admin用户都能访问接口http://localhost:8888/customer/hello
5 自定义403无权限页面
5.1 修改配置
5.2 unauth.html
5.3 结果
描述: customer用户访问接口http://localhost:8888/admin/hello
6 用户注销
6.1 配置
6.2 退出接口
6.3 success.html
6.4 测试
(1) 用admin账号登录
(2) 登录成功
(3) 访问admin接口
(4) 访问http://localhost:8888/success.html页面,点击退出
(5) 测试admin接口会重定向到登录接口