shiro的基本认识和使用
1. 简单认识shiro
1.1 什么是shiro
Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。
1.2 shiro的组成
1.2.1 核心组件:
Subject:用户主体
SecurityManager :安全管理器
Realms :连接数据的桥梁
1.2.2 组件关系:
1.3 shiro运行的基本流程:
2. shiro的基本使用
2.1添加shiro框架
注入依赖,在此不赘述。
2.2 自定义Realm(至少定义一个)
创建Realm,继承AuthorizingRealm类,重写里面的两个方法
第一个方法用于获取权限验证的数据
第二个方法用于验证登录操作
2.3定义配置类(@Configuration)
2.3.1 获取Realm
2.3.2 将获取的Realm作为参数代入getDefaultWebSecurityManager,通过setRealm获取用户信息
2.3.3 将获取的用户信息作为参数,代入getShiroFilterFactoryBean,这个方法是添加shiro内置的过滤器和设置安全管理器,对用户的权限进行验证
常用的过滤器有以下:
anon:无需认证或者登录即可以访问,游客模式
authc:必须认证才可以访问,必须注册完成。
user:如果使用remerberMe功能可以直接访问
perms:资源必须得到相关权限才可以访问
role:该资源必须得到角色权限才可以访问
2.4进一步对自定义的Realm处理
在自定义的Realm中做登录处理
a:获取Subject,通过SecurityUtils.getSubject()方法
b: 封装用户数据。通过创建Map,将用户信息放入Map中。
c: 执行登录方法:
1.获取用户信息:
2.判断密码:
通过new SimpleAuthentication(""",password","");
**
自学的shiro,不对的地方望大佬们海涵,并希望大佬们给出合理的意见和建议。
以上是个人对shiro的初步认识,后续会补充。