restful api 权限设计 - 初探一

本文探讨了restful api的权限设计,包括认证和鉴权。认证涉及token-jwt、basic auth等多种方式,鉴权采用RBAC模型,通过用户-角色-资源的关系进行权限分配。文章提到了动态修改权限配置的需求,以及URL路径匹配的重要性,并介绍了面向restful api的轻量级认证鉴权框架Sureness。
摘要由CSDN通过智能技术生成

restful api 权限设计 - 初探一

在现在主流的前后端分离的系统中,或者是专注于提供api服务的系统,如何保护好所提供的后端restful api,使得非常重要。保护api的方面很多,限流,防刷,校验可以说都是保护,今天来谈谈很重要的api的认证鉴权保护,大概的思路。需求两点:首先认证 – 我们可以配置哪些api需要用户认证通过才能访问哪些可以直接访问,还有就是鉴权 – 我们可以配置管理哪些api对于某个用户能调用哪些不能调用。
题外-有些会说页面按钮或者页面显示的权限问题,个人认为按钮,页面这类的显示不显示,是前端的权限管理责任划分,所以这次并不会去讨论它。

认证

主流的认证方式有 token - jwt, basic auth, digest auth等,用户携带认证信息访问restful api,后端会有个前置过滤拦截器(filter,interceptor,aop都可以实现)来拦截请求,获取请求信息里的认证信息,通过算法校验或者和系统内用户数据源(可以来自数据库,文本等)对比判断,校验通过才会让用户请求流程继续下去。
这是个大概的认证流程,还有很多细节需要考虑到,比如有些api不需要认证也要被访问,数据源的设计是怎么样的,用户携带多种认证信息怎么判断等。

鉴权

用户认证流程通过后,就需要对认证后的用户访问此api进行鉴权,判断此用户是否能访问此api。主流易用的权限模型是RBAC - 基于角色的权限模型。我们这里对restful api来说就是, api赋权给角色,用户拥有此角色,用户就能访问此restful api。即 用户

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值