基于拦截器的后端资源权限实现

本文介绍了如何在SpringBoot中实现后端资源权限管理,通过拦截器或AOP结合自定义注解,实现对用户接口资源的权限控制。在用户登录时将可用接口资源存入缓存,请求时通过拦截器或AOP进行鉴权,确保只有具备相应权限的用户才能访问特定接口。
摘要由CSDN通过智能技术生成

权限实现是web应用项目永远绕不开的话题,诸如SpringSecurity、Shiro等安全框架也提供了相对健全的解决方案。但如果摒弃这些框架单从功能实现出发实现多账户多角色的权限分管其实思路也很简单。

思路分析
后端实现(接口资源管理)
针对后端开发,基于springboot,我们可以采用拦截器与自定义注解配合实现 面向用户的 后台接口资源的管理。在用户登录时,将该账户可用的接口资源路径以某种形式存放在缓存中,当接口请求发起时,拦截器解析该账户所拥有的接口资源路径并与请求体路径相比对。这样,只需管理好用户与后台接口资源路径的对应关系在一定意义上就实现了针对用户的能力(即后台权限)的管理。

当然,针对后台接口资源实现面向用户的分管并不是非拦截器不可,同样的道理,我们采用AOP或过滤器实现 理论上也是可行的,总体思路都是在请求访问时做鉴权回应。后面我们会着重针对拦截器实现和AOP实现 两种实现方式做代码分析。

前端实现(组件资源可见/可操作)
针对前端开发,思路上可以通过解析用户的权限资源(这里要求后端有权限相关的库表设计)来对前端组件的可见性/可操作性进行管控。这部分不是本篇论述的重点,点到为止,不做赘述。

基于拦截器实现后端资源权限管理
以下代码在springboot中实现。用户登录的信息(授权接口资源等)缓存(session或自定义cookie)的编写这里不做介绍,各位可以按自己的思路实现,只要能够在请求体中解析即可。

  1. 配置拦截器
    import cn.wayne.util.ReqInterceptor;
    import org.springframework.beans.factory.annotation.Aut
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值