shiro 授权
一, shiro授权方式3种
- 编程式
- 注解式
- jsp式
- 授权操作使用注解式更好
二,授权的具体操作- 进行授权,前提是用户必须已经经过认证
- 角色是一组权限的集合
1,配置shiro文件
#配置用户名和密码
[users]
zhangsan=123456,role1
lisi=123456,role2,role3
wangwu=123456,role4
#配置角色
[roles]
role1=user:query,user:add,user:update,user:delete,user:exprot
role2=user:query
role3=user:query,user:add,user:update,user:delete
role4=user:query,user:add,user:update
2,验证用户主体是否有权限和角色
public static void main(String []args){
//1.创建用户数据
String username = "zhangsan";
String password = "123456";
// 2.创建factory工厂,从ini文件拿数据
Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini");
//3.使用factory创建SecurityManager (有shiro信息)
DefaultSecurityManager securityManager = (DefaultSecurityManager) factory.getInstance();
//4.将UserRealm注入到完全管理器
securityManager.setRealm(new UserRealm2());
//5.把当前安全管理器注入到线程中
SecurityUtils.setSecurityManager(securityManager)