「已注销」 2019-06-14 16:09 采纳率: 0%
浏览 1303

shiro拦截问题,一个服务在内部自己调用自己,发现被shiro拦截了。

多数据源

有个拦截器拦截服务请求的入参,根据特殊标识切换数据源

有个服务 http://localhost:8080/svc/svc1 ,入参……………… DB_LABEL:A 连接A数据库

在服务内部中需要调用http://localhost:8080/svc/svc1 入参DB_LABEL:B 连接B数据库(增加特殊参数跳出循环,即自己在用用一次自己)

但是http://localhost:8080/svc/svc1 服务被重定向到/login,服务需要这么跳过shiro验证?

目前是在请求头加上isAuthc参数,在onAccessDenied如果为true,直接返回true
跟踪源码发现是再次请求时重新创建了sessionId,然后sessionDao.readSession获取不到Session,
求问,这么才能跳过shiro验证?

  • 写回答

1条回答 默认 最新

  • 农夫丶果园 2019-06-14 16:24
    关注

    重新创建了sessionId说明是session过期了 , 如果要跳过shiro认证的话 , 把接口设置为 anon , 使用匿名访问应该就可以了

    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置