ToB企服应用市场:ToB评测及商务社交产业平台

标题: 自定义过滤器配置 Shiro 认证失败返回 json 数据 [打印本页]

作者: 忿忿的泥巴坨    时间: 2023-11-21 09:29
标题: 自定义过滤器配置 Shiro 认证失败返回 json 数据
by emanjusaka from ​ https://www.emanjusaka.top/archives/11 彼岸花开可奈何
本文欢迎分享与聚合,全文转载请留下原文地址。
Shiro权限框架认证失败默认是重定向页面的,这对于前后端分离的项目及其不友好,可能会造成请求404的问题。现在我们自定义过滤器实现认证失败返回json数据。
拦截器就是一道道的关卡,每一道关卡都有各自的职责。

实现思路

由于Shiro默认的过滤器认证失败后是进行重定向操作的,所以我们考虑自定义过滤器重写它的逻辑。
实现过程

上面配置对登录接口进行了放行,对其他接口都要进行认证,这个可以根据自己的实际需要去配置。同时还要配置我们的自定义拦截器,拦截器Map 的key要和配置的认证authc一致,否则会不生效。
扩展知识

Shiro中的拦截器

  1. public enum DefaultFilter{
  2.   anno(AnonymousFilter.class),
  3.   authc(FormAuthenticationFilter.class),
  4.   authcBasic(BasicHttpAuthenticationFilter.class),
  5.   logout(LogoutFilter.class),
  6.   noSessionCreation(NoSessionCreationFilter.class),
  7.   perms(PermissionsAuthorizationFilter.class),
  8.   port(PortFilter.class),
  9.   rest(HttpMethodPermissionFilter.class),
  10.   roles(RolesAuthorizationFilter.class),
  11.   ssl(SslFilter.class),
  12.   user(UserFilter.class);
  13. }
复制代码
与身份验证相关的拦截器

与授权相关的拦截器

其他拦截器

本文原创,才疏学浅,如有纰漏,欢迎指正。如果本文对您有所帮助,欢迎点赞,并期待您的反馈交流,共同成长。
原文地址: https://www.emanjusaka.top/archives/11
微信公众号:emanjusaka的编程栈

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4