细说shiro之一:shiro简介
官网: https://shiro.apache.org/ 一. Shiro是什么 Shiro是一个Java平台的开源权限框架,用于认证和访问授权。具体来说,满足对如下元素的支持: 用户,角色,权限(仅仅是操作权限,数据权限必须与业务需求紧密结合),资源(url)。 用户分配角色,角色定义权限。 访问授权时支持角色或者权限,并且支持多级的权限定义。 Q:对组的支持? A:shiro默认不支持对组设置权限。 Q:是否可以满足对组进行角色分配的需求? A:扩展Realm,可以支持对组进行分配角色,其实就是给该组下的所有用户分配权限。 Q:对数据权限的支持? 在业务系统中定义? A:shiro仅仅实现对操作权限的控制,用于在前端控制元素隐藏或者显示,以及对资源访问权限进行检查。数据权限与具体的业务需求紧密关联,shiro本身无法实现对数据权限的控制。 Q:动态权限分配? A:扩展org.apache.shiro.realm.Realm,支持动态权限分配。 Q:与Spring集成? A:可以支持与Spring集成,shiro还支持jsp标签。 二. 系统架构 在shiro架构中,有3个最主要的组件:Subject,SecurityManager,Realm。 Subject本质上就是当前访问用户的抽象描述。 SecurityManager是Shiro架构中最核心的组件