About Shiro 基础1

简介:Apache Shiro是Java的一个安全框架,类似于Spring Security。

 

基本构成:

Authentication身份认证/登录,验证用户是不是拥有相应的身份;

Authorization授权,即权限验证,验证某个已认证的用户是否拥有某个权限;

Session Manager会话管理;

Cryptography加密;

Web SupportWeb支持,可以非常容易的集成到Web环境;

Caching:缓存;

Concurrencyshiro支持多线程应用的并发验证,即如在一个线程中开启另一个线程,能把权限自动传播过去;

Testing提供测试支持;

Run As允许一个用户假装为另一个用户(如果他们允许)的身份进行访问;

Remember Me记住我,这个是非常常见的功能,即一次登录后,下次再来的话不用登录了。

 

 

主要用到的对象:

Subject 主体 由SecurityManager管理

SecurityManager安全管理器 Shiro的核心(如果学习过SpringMVC,你可以把它看成DispatcherServlet前端控制器)

Realm域  用来确定用户是否合法 可以把Realm看成DataSource,即安全数据源。

Authenticator认证器

Authrizer授权器;

CacheManager缓存控制器,来管理如用户、角色、权限等的缓存的;因为这些数据基本上很少去改变,放到缓存中后可以提高访问的性能

Cryptography密码模块,Shiro提高了一些常见的加密组件用于如密码加密/解密的。

 

 

 

实现用户的认证和授权

我们可以创建一个XXXRealm类继承Shiro的AuthorizingRealm

重写他的doGetAuthorizationInfo方法对用户进行授权:

返回一个 Authorizationinfo ,这个info对象里可以用setRole,addPerms等方法对用户进行添加角色,添加权限等操作,

Role,Perms的参数可以是String,也可以是个hashset

重写doGetAuthenticationInfo方法对用户进行认证。

 

 

posted @ 2016-11-21 18:51  StaticXy  阅读(143)  评论(0编辑  收藏  举报