springboot结合shiro中anon配置失效

网上看了许多anon的文章,但是大部分anon失效的原因都是需要使用
LinkedHashMap来作为拦截链,但是本人开发过程中已经使用了LinkedHashMap 但是anon配置还是失效,但还是被filter拦截。
最后终于找到了原因:filter不能交给springbean管理!!,这会导致anon失效!!

因此再filters.put时需要new一个filter。
如下
filters.put(“jwtFilter”, jwtFilter());

public JWTFilter jwtFilter() {
//如果filter中有属性需要从springbean中获取的,可以使用set方法或者使用 Spring 的上下文管理工具类进行获取
return new JWTFilter();
}

//注意不要把fiter交给spring bean !
在这里插入图片描述
类左边没有绿色图标即可。
解决!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了配置Spring Boot和Shiro,您需要执行以下步骤: 1. 在您的Spring Boot项目,使用Maven或Gradle将Shiro依赖项添加到您的构建配置文件。例如,对于Maven,请在pom.xml文件添加以下依赖项: ```xml <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring-boot-starter</artifactId> <version>1.7.1</version> </dependency> ``` 2. 创建一个Shiro配置类,该类将包含Shiro的相关配置。您可以在该类定义身份验证和授权规则等配置。例如,创建一个名为ShiroConfig的类,并使用@Configuration注解将其标记为配置类。 ```java @Configuration public class ShiroConfig { // 配置身份验证规则 @Bean public Realm realm() { // 实现自己的Realm } // 其他配置... } ``` 3. 在Shiro配置创建一个Realm bean,并在其实现自己的Realm。Realm负责验证用户身份和进行授权。您可以使用现有的Realm实现,如JdbcRealm或IniRealm,也可以实现自定义的Realm。 例如,创建一个名为MyRealm的类,并实现`org.apache.shiro.realm.AuthorizingRealm`接口来实现您自己的Realm逻辑。 ```java public class MyRealm extends AuthorizingRealm { // 身份验证逻辑 @Override protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException { // 实现身份验证逻辑 } // 授权逻辑 @Override protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) { // 实现授权逻辑 } // 其他方法... } ``` 4. 在Shiro配置,通过@Bean注解将自定义的Realm bean注入到容器。 5. 在application.properties或application.yml文件配置Shiro的相关属性。您可以设置身份验证的URL、登录URL、注销URL等。例如,在application.yml文件添加以下配置: ```yaml shiro: loginUrl: /login successUrl: /home unauthorizedUrl: /unauthorized ``` 这些是配置Shiro的基本步骤。您还可以根据您的应用程序需求添加其他配置和功能。请注意,这只是一个简单的示例,您可能需要根据自己的情况进行调整和扩展。 希望以上信息对您有所帮助!如果您有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值