java的shiro的简单介绍
本篇文章给大家谈谈java的shiro,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java shiro报错,请大神帮忙
- 2、shior名词解释
- 3、Spring Boot整合Shiro实现前后端分离
- 4、【Shiro】一步步的看Shiro 【Shiro与Spring Security区别】
- 5、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的信息别忘了在本站进行查找喔。
发布于:2022-12-01,除非注明,否则均为
原创文章,转载请注明出处。