java shirofilter_Shiro权限管理框架(五):自定义Filter实现及其问题排查记录

明确需求: e% I  Z, A. ]- v8 O# `

1 T$ m8 Q9 G1 v# e9 T在使用Shiro的时候,鉴权失败一般都是返回一个错误页或者登录页给前端,特别是后台系统,这种模式用的特别多。但是现在的项目越来越多的趋向于使用前后端分离的方式开发,这时候就需要响应Json数据给前端了,前端再根据状态码做相应的操作。那么Shiro框架能不能在鉴权失败的时候直接返回Json数据呢?答案当然是可以。

3 `/ {) R4 p9 k4 d( s/ _, t6 |  ~9 Q9 p) U其实Shiro的自定义过滤器功能特别强大,可以实现很多实用的功能,向前端返回Json数据自然不在话下。通常我们没有去关注它是因为Shiro内置的一下过滤器功能已经比较全了,后台系统的权限控制基本上只需要使用Shiro内置的一些过滤器就能实现了,此处再次贴上这个图。

2 N5 k# O) n1 b9 ^2 D

3bd510fe183afc2e2f1eb504a351dfa8.png

3 r0 ]" w# [0 m8 i! Q  D$ s相关文档地址:http://shiro.apache.org/web.html#default-filters

& P$ ^3 _: ?5 p$ A' T% Z; _我最近的一个项目是需要为手机APP提供功能接口,需要做用户登录,Session持久化以及Session共享,但不需要细粒度的权限控制。面对这个需求我第一个想到的就是集成Shiro了,Session的持久化及共享在Shiro系列第二篇已经讲过了,那么这篇顺便用一下Shiro中的自定义过滤器。因为不需要提供细粒度权限控制,只需要做登录鉴权,而且鉴权失败后需要向前端响应Json数据,那么使用自定义Filter再好不过了。, j' Y1 a3 v! ^3 S+ V: y/ n7 {

自定义Filter

3 l9 E' s% x5 @# C

' g+ B' B9 I' ?! p- l还是以第一篇的Demo为例,项目地址在文章尾部有放上,本篇在之前的代码上继续添加功能。

: v  E' E- p' f/ z! w6 C4 W; z4 K首发地址:https://www.guitu18.com/post/2020/01/06/64.html; ~" T- p- t& @

在实现自定义Filter之前,我们先看看这个类:org.apache.shiro.web.filter.AccessControlFilter,点开它的子类&

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值