【问题标题】:Shiro permission configuration and custom filter conflictShiro权限配置和自定义过滤器冲突
【发布时间】:2019-09-17 08:44:04
【问题描述】:

如果我将自定义过滤器 jwt 添加到 shiroFilterFactoryBean,则 urlFilter.put("/helloworld","authc,rolse[user]"); 是 无效。

Map<String,Filter> filterMap = new LinkedHashMap<>();
filterMap.put("jwt",new JWTFilter() );

shiroFilterFactoryBean.setFilters(filterMap);
Map<String,String> urlFilter = new LinkedHashMap<>();
urlFilter.put("/user/signin", "anon" );
urlFilter.put("/user/register", "anon" );
urlFilter.put("/**", "jwt" );
urlFilter.put("/helloworld", "authc,rolse[user]");

【问题讨论】:

  • 请提出一个实际问题。如果您正在寻求调试帮助,请描述预期行为、实际行为以及您处理问题的尝试

标签: shiro


【解决方案1】:

顺序很重要,您只需在地图末尾粘贴/**,请参阅文档中的相关警告: https://shiro.apache.org/web.html#web-ini-configuration

【讨论】:

  • 但是如果我把 /** 放在地图的末尾, urlFilter.put("/helloworld", "authc,rolse[user]"); urlFilter.put("/**", "jwt" );请求将被 authc,rolse[user] 拦截,不会进入 JWT 过滤器
猜你喜欢
  • 2020-02-08
  • 2016-09-28
  • 1970-01-01
  • 2019-01-04
  • 2022-12-11
  • 2012-12-25
  • 2017-09-08
  • 1970-01-01
  • 2012-12-28
相关资源
最近更新 更多