依赖
创建ini文件
shiro 获取权限相关信息可以通过数据库获取,也可以通过ini配置文件获取
登录认证
代码实现
角色授权
授权方式:
- 编程式:通过
if/else
授权代码
if(subject.hasRole("admin")){
//有权限
}else{
//无权限
}
- 注解式:通过在执行的就ava方法上放置相应的注解完成,没有权限将抛出相应的异常
@RequiresRoles("admin")
public void hello(){
//有权限
}
授权流程
角色和权限实现
加密
自定义登录认证
shiro
自带的登录认证不带加密,要实现加密认证需要自定义登录认证(自定义 Ream
)
整合springboot
依赖->配置文件
配置文件中配置访问路径
- 自定义realm
- 创建shiro配置类
- 测试
- 前端页面
略
修改后端代码
多个realm认证实现
rememberMe
在配置类中设置
修改
chainDefinition.addPathDefinition("/user/*/*", "anon");//允许匿名访问,并且匿名访问的要放到前面
chainDefinition.addPathDefinition("/**", "authc");//需要认证方可访问
//设置登出操作,登出当前要跳转到登录页面(其中,logout示意零碎登出解决)
chainDefinition.addPathDefinition("/user/logout", "logout");
授权角色认证
角色校验
- 创建角色表
- 角色用户映射关系表
获取权限进行验证
- 权限表
异常处理
缓存工具 EhCache
- 概念
- 搭建
- 测试