frame shiro 概述

权限管理

  权限管理包括用户身份认证和授权两部分,简称认证授权。

  身份认证包括用户口令登陆、指纹验证、刷卡等方式。

  授权即访问控制,控制谁能访问哪些资源,主体身份认证后分配权限以访问自己可以访问的资源。

  主体发出请求 --> 判断是否允许匿名访问(淘宝首页) --> 判断是否通过认证 --> 输入用户名口令认证 --> 判断是否通过认证


Apache Shiro 简介

  Apache Shiro 是java的一个安全框架。目前使用Apache Shiro的人越来越多,因为它相当简单,对比spring Security,可能没有Spring Security 功能强大,但实际工作时可能不需要那么复杂的东西,使用小而简单的Shiro就足够了。

  Shiro不仅可以用在JavaSE环境,也可以用在JavaEE环境。它可以帮助我们完成:认证、授权、加密、会话管理、与web集成、缓存等。


Apache Shiro 框架

 

Authentication--认证     Authorization--授权      SessionManagement--会话管理,会话可以是Java SE环境,也可以是Java EE环境;可以实现分布式的会话管理

Crytography--加密密码    web support--web支持     caching--缓存       remember me--记住我    Testing--提供测试支持

Concurrency--shiro支持多线程应用的并发验证,即如在一个线程中开启另一个线程,能把权限自动传播过去  Run As--允许一个用户假装为另一个用户(如果他们允许)的身份进行访问


 Apache Shiro 概念

  shiro架构有三个主要概念:subject、securityManager、realms

  

  Subject,主体(user),可以是用户也可以是程序、爬虫。

  securityManager 安全管理器,它是shiro的核心,有点类似于springmvc的DispatcherServlet。它管理着所有Subject,并负责与其他组件(认证器、授权器、缓存控制器)交互。securityManager 不做具体的事情,具体的事情由认证器、授权器、缓存控制器来做,securityManager 调用认证器、授权器、缓存控制器来做具体的事情。

  realm,可以有一个或多个,安全实体数据源,即用于获取安全实体的。比如执行认证和授权(访问控制)时,shiro会从应用配置的realms中查找相当的比对数据,以确认用户是否合法。可以是jdbc实现,也可以是LDAP实现,或者内存实现等等,由用户提供。因为shiro不知道用户/权限存储在哪以及使用何种格式存储,所以我们一般在应用中都需要实现自己的realm。

 其它概念

  Principal,身份信息(username),具有唯一性,如用户名、手机号、邮箱地址等,一个用户可以有多个身份信息,但必须有一个主身份信息。

  credential,凭证信息(password),如密码、证书等。


 Apache Shiro 结构

 

 

Subject --> Security Manager --> Authenticator/Authorizer/Session Manager/Cache Manager -->  realm(JDBC、LDAP)

SessionDAO --> DAO大家都用过,数据访问对象,用于会话的CRUD,比如我们想把Session保存到数据库,那么可以实现自己的SessionDAO,通过如JDBC写到数据库;比如想把Session放到redis中,可以实现自己的redis  SessionDAO;另外SessionDAO中可以使用Cache进行缓存,以提高性能

转载于:https://www.cnblogs.com/Mike_Chang/p/9665197.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值