lasting_5 2023-08-07 22:51 采纳率: 0%
浏览 9

shiro 拦截器配置anno部分不生效

shiro 拦截器配置anno部分不生效

ShiroConfig 配置如下:
@Bean
    public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager) {
        ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
        shiroFilterFactoryBean.setSecurityManager(securityManager);
        Map<String, String> filterMap = new LinkedHashMap<>();
        //dologin
        filterMap.put("/doLogin", "anon");
        // miniprogram
        filterMap.put("/microprogram/**", "anon");
        // 登出
        filterMap.put("/logout", "logout");
        // swagger
        filterMap.put("/swagger**/**", "anon");
        filterMap.put("/webjars/**", "anon");
        filterMap.put("/v2/**", "anon");
        // druid
        filterMap.put("/druid**/**", "anon");
        // 登录css、js
        filterMap.put("/static/js/**", "anon");
        // 登录css、js
        filterMap.put("/static/css/**", "anon");
        // 登录css、js
        //filterMap.put("/static/pages/**", "anon");
        // 前端插件
        filterMap.put("/plugins/**", "anon");
        // 前端public
        filterMap.put("/public/**", "anon");
        // 对所有用户认证
        //filterMap.put("/**", "authc");
        // 登录
        shiroFilterFactoryBean.setLoginUrl("/login");
        // 首页
        shiroFilterFactoryBean.setSuccessUrl("/index");
        // 错误页面,认证不通过跳转
        shiroFilterFactoryBean.setUnauthorizedUrl("/error");
        shiroFilterFactoryBean.setFilterChainDefinitionMap(filterMap);
        return shiroFilterFactoryBean;
    }

//Controller 类如下
@Api(tags = "小程序模拟返回Controller")
@RestController
@RequestMapping("/microprogram")
public class MicroprogramController {

    @GetMapping("/getSwiperList")
    public ResponseVO getSwiperList(){
        List rows = new ArrayList();
        rows.add("https://111.png");
        rows.add("https://222.png");
        rows.add("https://333.png");
        return new ResponseVO(ConstantUtil.SUCCESS,"操作成功",10,rows);
    }
}

实际效果就是:

  1. 其他的doLogin、swagger** 都能正常放行,但是/microprogram/** 不生效
  2. 如果把MicroprogramController 类中的getSwiperList()方法名改为doLogin()又会生效
  • 写回答

1条回答 默认 最新

  • 夜郎king 2022博客之星IT其它领域TOP 12 2023-08-08 08:25
    关注

    重新编译后试试

    评论

报告相同问题?

问题事件

  • 创建了问题 8月7日

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看