apache shiro就java的安全权限框架
shiro可以非常容易的开发出足够好的应用,其不仅可用在java se环境,也可以用在java ee环境
shiro可以完成,认证,授权,加密,会话管理,与web集成,缓存等 spring scurity
下载地址:http://shiro.apache.org
session management管Session ,即可以用java ee的Session,也可以用于cryptography 加密
web support 可以
主要功能
认证方式
authentication:身份认证、登录,验证用户是不是拥有相应的身份。
会话管理:授权,即权限验证,验证某个已认证是否拥有某个权限,即判断用户是否能进行什么操作,如:验证某个用户是否拥有某个角色,或者细粒度的验证某个用户对某个资源是否具有某个权限。
session manager:会话管理,即用户登录后,就是一次会话,在没有退出之前,它的所有信息都在会话中,会话可以是普通java se环境,也可以是web环境的。
cryptography:加密,保护数据的安全性,如密码加密存储到数据库,而不是明文存储
支持特性
网络支持:web 支持,可以非常容易的集成到Web环境
缓存:比如用户登录后,其用户信息,拥有的角色/权限不必每次去查,这样可以提高效率。
并发:shiro支持多线程应用并发验证,即如在一个线程中开启一个线程 ,能把权限自动传播过去。
测试:提供测试支持
运行:允许一个用户假装为另一个用户,的身份进行访问。
记住账号:remberme,记住我,这个是非常常见的功能,即一次登录后,下次再来的话不用登录了。
shiro架构(shiro外部来看)
从外部来看Shiro,即从应用程序的角度来观察如何使用shiro完成工作
application code ---->subject --->shiro security manager ---->realm
从内部看