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环境;可以实现分布式的会话管理

扫描二维码关注公众号,回复: 3241153 查看本文章

Crytography--加密密码    web support--web支持     caching--缓存       remember me--记住我


 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)

猜你喜欢

转载自www.cnblogs.com/Mike_Chang/p/9665197.html