shiro是java的一个权限安全框架,它对比于Spring Security虽然功能没有那么强大,但是它简单而且在平时的开发中所需的功能也基本都能满足,所以比较好用,那现在就入门一下shiro框架吧。 Authentication:身份认证/登录,验证用户的身份信息; Authorization:授权,哪个用户拥有什么样的权限给其进行授权。 Session Manager:会话管理,用户登录后未退出时其信息都存在会话里。 Cryptography:加密,对用户密码进行加密,防止明文密码出现。 Web Support:Web支持,可以非常容易的集成到Web环境; Remember Me:记住我,这个功能开启后下次登录就不能重新登录了。
工作流程是这样的前台将用户名/密码通过Subject与shiro的核心管理器(shiro securitymanager)进行交互来获取权限和认证的,核心管理器从Realm中获取用户的权限信息。 Subject:主体,代表了当前“用户”,这个用户可以是人也可以使某个机器。 SecurityManager:安全管理器;这是shiro的核心,它管理着所有Subject;它负责与后边介绍的其他组件进行交互。 Realm:Shiro从Realm获取安全数据(如用户、角色、权限),可以把Realm看成DataSource,即安全数据源。 Authenticator:认证器,负责主体认证的,可以自定义实现。 Authrizer:授权器,或者访问控制器,用来决定用户是否有权限进行相应的操作;即控制着用户能访问应用中什么功能。
|