原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 第六章 Realm及相关对象(四) 1.Subject的代码结构 Subject是shiro的核心,基本所有身份验证.授权都是通过Subject完成的. public interface Subject { //身份信息获取 Object getPrincipal(); //Primary Principal PrincipalCollection getPrin…
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 第六章 Realm及相关对象(三) 1.准备3个Realm MyRealm1,MyRealm2,MyRealm3. (1)MyRealm1 public class MyRealm1 implements Realm { @Override public String getName() { return "a"; //realm name 为 “a”…
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 第六章 Realm及相关对象(二) 1.AuthenticationToken 由上篇可知,AuthenticationToken出现在UserRealm的方法doGetAuthenticationInfo()中.这个方法是用来验证的,token是验证时所用的参数. protected AuthenticationInfo doGetAuthenticationI…
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 第六章 Realm及相关对象 1.用户.角色.权限的关系 用户和角色是多对多,角色和权限也是多对多. 用户和权限通过角色建立关系. 角色是权限的集合. (1)表准备 用户表: 角色表: 剩下的表类似,就不一一解释了.分别是权限表,用户-角色表,角色权限表. (2)表对应的实体 2.环境准备 (1)pom.xml 3.Service和Dao层 (1)Service层…
转发地址:https://www.iteye.com/blog/jinnianshilongnian-2022468 目录贴:跟我学Shiro目录贴 6.1 Realm [2.5 Realm]及[3.5 Authorizer]部分都已经详细介绍过Realm了,接下来再来看一下一般真实环境下的Realm如何实现. 1.定义实体及关系   即用户-角色之间是多对多关系,角色-权限之间是多对多关系:且用户和权限之间通过角色建立关系:在系统中验证时通过权限验证,角色只是权限集合,即所谓的显示角色:其实权…
目录贴:跟我学Shiro目录贴 有时候需要显示当前在线人数.当前在线用户,有时候可能需要强制某个用户下线等:此时就需要获取相应的在线用户并进行一些操作. 本章基于<第十六章 综合实例>代码构建. 会话控制器 @RequiresPermissions("session:*") @Controller @RequestMapping("/sessions") public class SessionController { @Autowired privat…
转发:https://www.iteye.com/blog/jinnianshilongnian-2029717 目录贴:跟我学Shiro目录贴 Shiro的组件都是JavaBean/POJO式的组件,所以非常容易使用Spring进行组件管理,可以非常方便的从ini配置迁移到Spring进行管理,且支持JavaSE应用及Web应用的集成. 在示例之前,需要导入shiro-spring及spring-context依赖,具体请参考pom.xml. spring-beans.xml配置文件提供了基础…
Shiro Realm 1.UserRealm 父类 AuthorizingRealm 将获取 Subject 相关信息分成两步:获取身份验证信息(doGetAuthenticationInfo)及授权信息(doGetAuthorizationInfo): 2.doGetAuthenticationInfo 获取身份验证相关信息:首先根据传入的用户名获取 User 信息:然后如果 user 为空,那么抛出没找到帐号异常 UnknownAccountException:如果 user 找到但锁定了…
一.笔记导图 二.实例代码: public class PrintCarStatus{ public static void main(String[] args){ int speed; String color; String name; String direction; speed = 200; color = "红色"; name = "法拉利"; direction = "纽博格林南环赛道"; System.out.println(&…
转发地址:https://www.iteye.com/blog/jinnianshilongnian-2024723 目录贴:跟我学Shiro目录贴 Shiro提供了与Web集成的支持,其通过一个ShiroFilter入口来拦截需要安全控制的URL,然后进行相应的控制,ShiroFilter类似于如Strut2/SpringMVC这种web框架的前端控制器,其是安全控制的入口点,其负责读取配置(如ini配置文件),然后判断URL是否需要登录/权限等工作. 7.1 准备环境 1.创建webapp应…