徐老师,对于面向业务和面向资源两种接口开发方式,想了解下,目前实际系统开发设计上,是推荐面向业务还是面向资源的接口方式;面向资源的接口方式给项目带来的无疑是节省了很多业务接口开发,然而在实际系统应用上,面向资源的接口会遇到如下问题:
1、同一个接口,可能会提供给多个终端访问;
2、同一个接口,可能会提供给不同的用户访问(如用户资料查询接口);
3、同一个接口,如果是PATCH更新接口的话,可能只是对应实体的部分内容更新;
4、。。。。。。
由于存在这些问题,那么当场景:
查询用户帐户明细,提供给公司平台后台管理系统调用、提供给app用户本人调用,提供给其它人调用时,其中其它人是无权限调用的;
用户的姓名、生日,性别、住址等信息、用户本身可以更新、其它用户不能更新该用户信息;
由于接口是面向资源的,那么我们在接口的开发设计上,如何对接口对外提供的访问和操作权限进行统一管理呢?
目前想到的场景是在网关上针对性的对每个接口(如用户帐户明细查询,或用户资料更新)识别到是这个接口后进行判断来做权限控制,那么涉及到每同一个面向资源的接口存在一种场景时,都需要在网关上增加一种权限判断,似乎并不是很好的解决方案。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
1.基于角色授权,每个客户端都有自己的角色,每个角色都有自己的权限。
2.这个可以使用令牌Token来实现,每个调用客户端申请自己的调用令牌,令牌生成时候可以携带权限,也可以携带角色,或者调用的时候根据令牌里的UserId来查询其角色,在判断权限。
3.现在流行的API权限设计,基本都是基于令牌的
评论
全部评论 (0)