shiro学习心得

2024-06-13 01:08
文章标签 shiro 学习心得

本文主要是介绍shiro学习心得,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、shiro配置文件中拦截器关联,未完待续…

<bean name="shiroFilterChainDefinitions" class="java.lang.String"><constructor-arg><value>/static/** = anon/baseSecurity/encryption = anon/login/logout = logout/login/userLogin =login/main/register = anon/sys/user/userAdd = anon/sys/** = user/** = user</value></constructor-arg></bean>
<!-- 安全认证过滤器 --><bean id="shiroFilter" //主要的拦截器,上面的shiroFilterChainDefinitions是自定义的,注入到里面class="org.apache.shiro.spring.web.ShiroFilterFactoryBean"><property name="securityManager" ref="securityManager"/>
//property的name代表各路操作,例loginUrl配置登录页,跳到/login/userLogin中;value的值匹配shiroFilterChainDefinitions中的value,shiroFilterChainDefinitions中的value=的是权限<property name="loginUrl" value="/login/userLogin"/><property name="successUrl" value="/sys/security/successLogin"/><property name="unauthorizedUrl" value="/main/anonLogin"/><property name="filters">//shiroFilterChainDefinitions自定义属性配置自定义的拦截器类<map><!--<entry key="ssl" value-ref="sslFilter"/>--><entry key="login"><bean class="smarteffect.com.security.SinosoftLoginFilter"><property name="usernameParam" value="loginName"/><property name="rememberMeParam" value="rememberMe"/></bean></entry><entry key="user"><bean id="sinosoftUserFilter" class="smarteffect.com.security.SinosoftUserFilter"><property name="accessDeniedUrl" value="/main/login"/></bean></entry><entry key="logout"><bean class="smarteffect.com.security.SinosoftLogoutFilter"><property name="redirectUrl" value="/main/index"/></bean></entry></map></property><property name="filterChainDefinitions"><ref bean="shiroFilterChainDefinitions"/></property></bean>

二、SinosoftUserFilter extends UserFilter,UserFilter extends AccessControlFilter

都覆写其父类的isAccessAllowed(ServletRequest var1, ServletResponse var2, Object var3)和onAccessDenied(ServletRequest var1, ServletResponse var2) ;

其中isAccessAllowed方法在浏览网页时,不管是刚打开,还是登录,点击出现新网页都会被拦截进入这个方法,被调用,使用频繁。

三、SinosoftAuthorizingRealm extends AuthorizingRealm,登录时被拦截进入此类中protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken)方法,获得token

这篇关于shiro学习心得的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1055860

相关文章

Java EE学习心得

–Java EE学习心得     1.    称为编程专家的秘诀是: 思考-----编程--------思考------编程…….. 编程不能一步到位,不能一上来就编,必须先思考如何写,怎样写?然后再编程,完事后,再思考  我编的程序还有那些不好的地方和要改进的地方,可以增加写什么功能等等;然后再去编程; 2. 先搭建整体框架再抠细节,在编程中不管是什么要先做出来,再去问怎么做!即是:先K

【Shiro】Shiro 的学习教程(三)之 SpringBoot 集成 Shiro

目录 1、环境准备2、引入 Shiro3、实现认证、退出3.1、使用死数据实现3.2、引入数据库,添加注册功能后端代码前端代码 3.3、MD5、Salt 的认证流程 4.、实现授权4.1、基于角色授权4.2、基于资源授权 5、引入缓存5.1、EhCache 实现缓存5.2、集成 Redis 实现 Shiro 缓存 1、环境准备 新建一个 SpringBoot 工程,引入依赖:

【Shiro】Shiro 的学习教程(二)之认证、授权源码分析

目录 1、背景2、相关类图3、解析3.1、加载、解析阶段3.2、认证阶段3.3、授权阶段 1、背景 继上节代码,通过 debug 进行 shiro 源码分析。 2、相关类图 debug 之前,先了解下一些类的结构图: ①:SecurityManager:安全管理器 DefaultSecurityManager: RememberMeManager:实现【记住我】功能

【Shiro】Shiro 的学习教程(一)之快速入门

目录 1、Shiro 简介2、Shiro 认证、授权2.1、认证2.2、授权 3、快速入门4、自定义 Realm5、加密6、实现授权 1、Shiro 简介 Shiro 官网:https://shiro.apache.org/ Shiro 是一个功能强大且易于使用的 Java 安全框架,它执行身份验证、授权、加密和会话管理。使用 Shiro 易于理解的 API,您可以快速轻松地保

shiro session 监听

spring 使用 shiro 后,由于shiro重新封装了原有的session,所以不能再使用原来的session监听方法了 (1)在shiro配额只文件中设置监听类   <!-- shiroSessionListener  监听类--><bean id="shiroSessionListener" class="com.listener.ShiroSessionListener"></

Shiro身份认证流程

http://www.toutiao.com/a6353832181929279746/?tt_from=mobile_qq&utm_campaign=client_share&app=explore_article&utm_source=mobile_qq&iid=5840657922&utm_medium=toutiao_ios

Shiro-721漏洞详解及复现

之前有些Shiro-550反序列化漏洞的文章Shiro-550漏洞详解及复现_shiro框架漏洞-CSDN博客 这里简单补充一下关于Shiro-721漏洞的内容。 目录 Shiro-721漏洞原理 Padding Oracle攻击 利用条件 影响版本 漏洞复现 Shiro-721漏洞原理 Shiro-721用到的加密方式是AES-128-CBC,跟Shiro-550最大的

进阶SpringBoot之 Shiro(6)整合 Thymeleaf

Subject:用户 SecurityManager:管理所有用户 Realm:连接数据 pom.xml 导入 thymeleaf-extras-shiro 的 jar 包,整合 shiro-thymeleaf <!-- shiro-thymeleaf 整合 --><dependency><groupId>com.github.theborakompanioni</grou

Shiro的认证原理(Subject#login的背后故事)

登录操作一般都是我们触发的: Subject subject = SecurityUtils.getSubject();AuthenticationToken authenticationToken = new ...subject.login(authenticationToken); Subject的登录将委托给SecurityManager,SecurityManager的logi

Shiro过滤器的维护与匹配执行

servlet的初始化会触发核心过滤器的创建: public Object getObject() throws Exception {if (instance == null) {instance = createInstance();}return instance;} 在createInstance方法中会调用 FilterChainManager manager = create