shiro框架学习笔记(1)---初识shiro框架
一、shiro简介:
Apache Shiro是一个强大而灵活的开源安全框架,它能够干净利落地处理身份认证,授权,企业会话管理和加密。
二、shiro框架能做的事情:
1、验证用户
2、对用户执行访问控制,如: 判断用户是否拥有角色admin、判断用户是否拥有访问的权限
3、单点登录(SSO)功能。
4、“Remember Me”服务 ,类似购物车的功能,shiro官方建议开启。
三、Shiro的4大部分——身份验证,授权,会话管理和加密
1、Authentication:身份验证,简称“登录”
2、Authorization:授权,给用户分配角色或者权限资源
3、Session Management:用户session管理器,可以让CS程序也使用session来控制权限
4、Cryptography:把JDK中复杂的密码加密方式进行封装
四、各名词介绍:
1、Subject:与程序交互的对象,可以是用户,也可以是各种服务
2、SecurityManager:shiro框架的核心部分,协调各个框架各个部分的正常运行,处理安全操作
3、Realms:是连接“数据库”和“程序”两者的桥梁,它负责从数据库获取到数据并与当前数据进行对比,判断该Subject具有什么权限
五、总结:
1.Subject(org.apache.shiro.subject.Subject): 简称用户
2.SecurityManager(org.apache.shiro.mgt.SecurityManager) 如上所述,SecurityManager是shiro的核心,协调shiro的各个组件
3.Authenticator(org.apache.shiro.authc.Authenticator): 登录控制
4.Authorizer(org.apache.shiro.authz.Authorizer) : 决定subject能拥有什么样角色或者权限。
5.SessionManager(org.apache.shiro.session.SessionManager) : 创建和管理用户session。通过设置这个管理器,shiro可以在任何环境下使用session。
6.CacheManager(org.apahce.shiro.cache.CacheManager) : 缓存管理器,可以减少不必要的后台访问。提高应用效率,增加用户体验。
7.Cryptography(org.apache.shiro.crypto.*) : Shiro的api大幅度简化java api中繁琐的密码加密。
8.Realms(org.apache.shiro.realm.Realm) : 程序与安全数据的桥梁