原文链接:https://tidyko.com/posts/b014d2be.html

使用@Configuration配置shiro无状态登录时出现的问题,在subject.login之后当前线程重新绑定了一个假定subject,isAuthenticated。

这里自定义的访问拦截器的创建需要放在shiroFilter之后,如下:

 /**
* Shiro 的 Web 过滤器链
*/
@Bean("shiroFilter")
public ShiroFilterFactoryBean shiroFilter() {
ShiroFilterFactoryBean filter = new ShiroFilterFactoryBean();
filter.setSecurityManager(securityManager()); Map<String, Filter> filters = new LinkedHashMap<String, Filter>();
// 无状态授权器
filters.put("statelessAuthc", statelessAuthcFilter());
filter.setFilters(filters); /**
* 配置shiro拦截器链
*/
// filterChainDefinitionMap 必须是 LinkedHashMap 因为它必须保证有序
Map<String, String> chain = new LinkedHashMap<String, String>();
// anon-表示可以匿名访问, authc-表示需要认证才可以访问
// 因为禁用了 Session,所以这里不能使用 authc 了,否则会报 DisabledSessionException 异常
chain.put("/services/*", "statelessAuthc");
chain.put("/**", "anon");
filter.setFilterChainDefinitionMap(chain);
return filter;
} // 访问控制过滤器
// <bean id="authcFilter" class="cn.tisson.upms.client.shiro.filter.StatelessAccessControlFilter"/> @Bean
public AccessControlFilter statelessAuthcFilter() {
return new StatelessAccessControlFilter();
}

  

如果使用xml配置是不需要注意前后位置的

<bean id="statelessAuthcFilter" class="cn.tisson.upms.client.shiro.filter.UpmsStatelessAuthcFilter"/>

<!-- Shiro的Web过滤器 -->
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
<property name="securityManager" ref="securityManager"/>
<property name="filters">
<util:map>
<entry key="statelessAuthc" value-ref="statelessAuthcFilter"/>
</util:map>
</property>
<property name="filterChainDefinitions">
<value>
/services/*=statelessAuthc
/**=anon
</value>
</property>
</bean>

以此备注。

【Shiro】调用doGetAuthenticationInfo进行认证成功之后,isAuthenticated是false的问题。的更多相关文章

  1. 针对shiro框架authc拦截器认证成功后跳转到根目录,而非指定路径问题

    一.针对shiro框架authc拦截器认证成功后跳转到根目录,而非指定路径问题 首先,我们先来了解一下authc登录拦截器工作原理 authc拦截器有2个作用: 1>登录认证     请求进来时 ...

  2. Shiro第四篇【Shiro与Spring整合、快速入门、Shiro过滤器、登陆认证】

    Spring与Shiro整合 导入jar包 shiro-web的jar. shiro-spring的jar shiro-code的jar 快速入门 shiro也通过filter进行拦截.filter拦 ...

  3. shiro实现登录安全认证(转)

    shiro实现登录安全认证 shiro的优势,不需要再代码里面判断是否登录,是否有执行的权限,实现了从前端页面到后台代码的权限的控制非常的灵活方便 传统的登录认证方式是,从前端页面获取到用户输入的账号 ...

  4. Shiro+Mybatis实现登录认证、授权功能

    Shiro+Mybatis实现登录认证.授权功能 一.实现登录认证功能 1.流程: 跟据用户提交表单的账号,经Mybatis框架在数据库中查出User对象: 如果User为空,则会抛出异常:Unkno ...

  5. SpringBoot整合shiro实现用户的认证授权

    * 项目环境搭建 * 配置ShiroConfig,用于shiro的基本配置和注入自定义规则 * 实现自定义的realm,继承AuthorizingRealm * 编写测试controller和页面 基 ...

  6. Shiro学习笔记 三(认证授权)

    第一种首先基于角色的权限控制 1.由于不断的创建SecurityFactory工程等步骤重复多次,所以应该将这些步骤封装成一个工具类 还是首先看一下目录结构 主要用到文件 首先贴一下工具类的方法 pa ...

  7. 【Shiro】Apache Shiro架构之权限认证(Authorization)

    Shiro系列文章: [Shiro]Apache Shiro架构之身份认证(Authentication) [Shiro]Apache Shiro架构之集成web [Shiro]Apache Shir ...

  8. 【Shiro】Apache Shiro架构之身份认证(Authentication)

    Shiro系列文章: [Shiro]Apache Shiro架构之权限认证(Authorization) [Shiro]Apache Shiro架构之集成web [Shiro]Apache Shiro ...

  9. Shiro自定义密码匹配认证

    项目集成shiro的时候,有写某个自定义类然后继承自AuthorizingRealm 并且重写实现了他的2个方法: 1.其中一个:认证回调 验证账户密码的 doGetAuthenticationInf ...

随机推荐

  1. CC33:碰撞的蚂蚁

    题目 在n个顶点的多边形上有n只蚂蚁,这些蚂蚁同时开始沿着多边形的边爬行,请求出这些蚂蚁相撞的概率.(这里的相撞是指存在任意两只蚂蚁会相撞) 给定一个int n(3<=n<=10000), ...

  2. python 编程基础-字典类型和方法

    定义:字典是一种key-vlaue的数据类型. 字典特性KEY值必须是唯一,且可hash的(不可变数据类型),无索引,无序的(因为有KEY),查找速度快 语法:info = {'stu1101':&q ...

  3. SQL SERVER 同一个表并且是同一个时间字段进行相减

    表AID NUM TIEM1 10 2012-06-10 10:10:002 20 2012-06-10 20:10:003 20 2012-06-10 20:10:004 10 2012-06-10 ...

  4. 常用API(包装类、System、Math、Arrays、大数据运算)

    常用API 今日内容介绍 u 基本类型包装类 u System u Math u Arrays u BigInteger u BigDecimal 第1章 基本类型包装类 大家回想下,在第二天我们学习 ...

  5. 对于拼接进去的html原来绑定的jq事件失效

    JQ拼接显示的页面中鼠标事件失效 由于是先加载html在用js层绑定的所有后来加进来的html内容就不再绑定js了 所以我们需要利用delegate绑定,但是同样道理也不能写在普通的方法层里,因为这样 ...

  6. 《移动Web前端高效开发实战》笔记3--代码检查任务

    在项目的开发过程中,统一的代码风格对于项目的可协作性以及可维护性来说相当重要,因此可以采用一些插件来进行代码风格的检查. 本例中的源文件包含两类:Sass文件和采用ECMAScript 6规范的Jav ...

  7. web标准、可用性、可访问性

    前言:大家不难发现,只要是招聘UED相关的岗位,如前端开发工程师.交互设计师.用户研究员甚至视觉设计师,一般都对web标准.可用性和可访问性的理解有要求.那么到底什么是web标准.可用性.可访问性呢? ...

  8. dstat工具使用介绍

    一.dstat工具多功能系统资源统计生成工具.获取信息类似top.free.iostat.vmstat等多个工具的合集,所以也称为vmstat.iostat.ifstat等工具替代品,其结果可以存储成 ...

  9. hiho一下 第四十四周 博弈游戏·Nim游戏(直接公式解)

    证明看这http://hihocoder.com/contest/hiho44/problem/1 思路: 设 sg=a[1]^a[2]^...a[n],若sg=0,则先手Alice必败,否则必赢. ...

  10. 清理winsxs文件夹(系统更新文件)的第三方工具

    工具名称(第三方): Windows Update Clean Tool 下载地址: http://www.xiazaiba.com/html/24145.html http://dx5.xiazai ...