java的shiro的简单介绍

博主:adminadmin 2022-12-01 11:12:08 71

本篇文章给大家谈谈java的shiro,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java shiro报错,请大神帮忙

No bean named 'shiroSecurityRealm' is defined。

你看看bean中是否缺少shiroSecurityRealm的定义

你缺少的这个需要自己定义一个类继承AuthorizingRealm 重写方法就行了。这个类就是主要进行权限控制的

shior名词解释

Shiro 是java 的一个安全权限框架。

Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境上,也可以用在JavaEE环境

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

Subject :

应用代码直接交互的对象是Subject,也就是说Shiro的对外API核心就是Subject。Subject代表了当前“用户”,这个用户不一定是一个具体的人,与当前应用交互的任何东西都是Subject,如网络爬虫,机器人等;与Subject的所有交互都委托给SecurityManager;Subject其实是一个门面,SecurityManager才是实际的执行者;

SecurityManager :

安全管理器;即所有与安全有关的操作都会与SecurityManager交互;且其管理着所有的Subject;可以看出它是Shiro的核心,它负责Shiro的其他组件进行交互,他相当于SpringMVC中DispatcherServlet的角色;

Realm :

Shiro从Realm获取安全数据(如用户、角色、权限),就是说SecurityManager要验证用户身份,那么它需要从Realm获取相应的用户进行比较以确定用户身份是否合法;也要从Realm获取相应的角色/权限进行验证用户是否能进行操作;可以吧Real看成DataSource

Spring Boot整合Shiro实现前后端分离

  Apache Shiro是Java的一个安全框架。功能强大,使用简单的Java安全框架,它为开发人员提供一个直观而全面的认证,授权,加密及会话管理的解决方案。

  Shiro基本功能点如下所示:

  Shiro工作流程如下所示:

  Shiro内部架构如下所示:

  本文实现源码如下,欢迎Star和Fork。

  实现思路:用户登录时生成token信息,设置过期时间,使用Redis存储。前端调用接口时将token作为参数传给服务端,服务端根据token信息认证用户。

  自定义AuthFilter过滤器,继承AuthenticatingFilter重写createToken、isAccessAllowed、onAccessDenied、onLoginFailure方法。

  AuthenticatingFilte类executeLogin方法如下所示:

  用户登录时删除旧Token信息,重新生成Token信息,退出登录时删除Token信息。 使用Redis存储Token信息时,同时存储已用户ID为键,Token为值和已Token为键、用户ID为值的信息 。

  整体实现流程图如下所示, 图源来自参考链接一,侵删 。

  实现思路:自定义ModularRealmAuthenticator管理多Realm,结合自定义认证Token关联不同的Realm。

  SecurityManager和ModularRealmAuthenticator配置如下:

  自定义认证Token,重写getCredentials方法, 根据loginType返回不同的比较对象 。

  普通登陆Realm认证逻辑如下所示:

  Token关联的Realm认证逻辑如下所示:

  自定义ModularRealmAuthenticator,管理多Realm,实现逻辑如下所示:

  用户登录,返回生成的token信息:

  用户携带token信息查询文章( 有对应权限 ):

  用户携带token信息删除用户( 无权限 ):

  用户携带token信息退出登录:

  用户退出登录后携带原token信息删除用户:

【Shiro】一步步的看Shiro 【Shiro与Spring Security区别】

Apache Shiro 是 Java 的一个安全框架。目前,使用 Apache Shiro 的人越来越多,因为它相

当简单,Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在 JavaSE 环境,也可以用在

JavaEE 环境。Shiro 可以帮助我们完成:认证、授权、加密、会话管理、与 Web 集成、缓

存等

Spring Security是一个提供身份验证、授权和防范常见攻击的框架。它对命令式应用程序和响应式应用程序都提供了一流的支持,是保护基于spring的应用程序的事实上的标准

OAuth for Spring Security为Spring Security提供了一个OAuth实现。支持OAuth提供者和OAuth消费者的实现。支持OAuth 2.0

完美撒花~,下面我会根据Shiro的具体内容结合不同场景的进行讲述以及配置。

有需要讨论Shiro和Spring Security有什么区别或者有什么不同看法的,欢迎留言 大家共同学习

java里shiro的用法

好在配置简单,以前做一个权限模块要写好多代码。现在spring security好像是集成了shiro的功能,实现了代码量更少,高速开发的目的。

java的shiro的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、java的shiro的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-01,除非注明,否则均为首码项目网原创文章,转载请注明出处。