天天看点

SpringBoot权限控制

权限控制是一个比较重要的知识点。

先讲一下相关理论知识,如图:

SpringBoot权限控制

每次发送请求都会调用到controller,而controller又会调用subject,每个用户对应一个subject(subject包含了session),且subject会负责和shiro交互,securityManager管理了Realm,而Realm可以进行登录验证,可以对用户操作付权限。

通过SpringBoot做权限控制的步骤如下:

1、首先要引入相应的包。

除了要引入其他基本功能的包,还要引入和权限控制相关的包,pom代码如下:

2、自定义Realm 继承自AuthorizingRealm:

3、密码校验器:

4、新建权限管理类:

这一步首先需要定义一个方法返回ShiroFilterFactoryBean,ShiroFilterFactoryBean对象要设置登录的URL,设置哪些路径是可以匿名访问,哪些是需要权限访问的。

然后配置核心安全事务管理器,返回SecurityManager对象:

设置密码比较器:

配置自定义的权限登录器:

总体代码:

上一篇: 文件上传
下一篇: Spring Boot