其他分享
首页 > 其他分享> > Shiro框架

Shiro框架

作者:互联网

Apache Shiro是Java的一个安全(权限)框架。

shiro可以完成:认证、授权、加密、会话管理、缓存与Web集成等。

shiro有十个功能:

shiro运行流程:

在这里插入图片描述

  1. Subject (啥绝):当前用户的操作
  2. SecurityManager:用于管理所有的Subject
  3. Realms(玩死):用于进行权限信息的验证

其他组件:

Authentication 和 Authorization

在shiro的用户权限认证过程中其通过两个方法来实现:

  1. Authentication:是验证用户身份的过程。
  2. Authorization:是授权访问控制,用于对用户进行的操作进行人证授权,证明该用户是否允许进行当前操作,如访问某个链接,某个资源文件等。

除了以上几个组件外,Shiro还有几个其他组件:

  1. SessionManager :Shiro为任何应用提供了一个会话编程范式。
  2. CacheManager :对Shiro的其他组件提供缓存支持。

Shiro工作流程
也就是说对于我们而言,最简单的一个Shiro应用:

  1. 应用代码通过Subject来进行认证和授权,而Subject又委托给SecurityManager;
  2. 我们需要给Shiro的SecurityManager注入Realm,从而让SecurityManager能得到合法的用户及其权限进行判断。

------------------------------------分界线------------------------------------
为什么要使用MD5盐值加密?

因为出现两个人或多个以上的原始密码是一样的时候,经过盐值加密就会不一样的密码,更加安全 。

如何做到:

  1. 需要使用SimpleAuthenticationInfo(principal, credentials,
    credentialsSalt, realmName);构造器。
  2. 使用ByteSource credentialsSalt = ByteSource.Util.bytes(userID);来计算盐值。
  3. 盐值需要唯一:一般使用随机字符串或者userID。
    使用new SimpleHash(“MD5”, 密码, 盐值, 加密次数);来计算盐值加密的密码值。

标签:加密,框架,用户,盐值,Shiro,权限,shiro
来源: https://blog.csdn.net/weixin_35099248/article/details/111560970