标签 access 下的文章

Common Access System Design

最近在优化自己写的APPsite框架,其中一直以来没有妥善解决的权限模块可能是后面拓展出去的比较大的障碍。所以着手重写这个模块。 在现有的框架中ACCESS模块分为两大部分: 系统权限、单位权限两个。

系统权限主要用于验证系统功能是否可以执行。 主要支持了Token作用域验证功能,可以设置有效期、作用域、以及可执行次数。 ACCESS和密码验证不同,并不解决加密解密问题,只是负责一个权限的授予、验证、撤销的功能。

# 例1 手机改密码的流程:  作用域为 resetPassword
用户.发起请求 -> 
权限系统.开始流程 -> 
用户.提交验证 -> 
权限系统.验证(通过/拒绝)并授权(设置有效期) -> 
使用权限(一段时间有效 或 一次性有效)

单位权限类似于虚拟物品的所有权。支持以用户为单位的权限授权。 目前仅支持一种状态即 拥有( 可以访问、读取 ) 而写、删的权限仍然只归属于系统。

# 例2 虚拟商品包年授权:  
用户.发起购买 -> ... -> 支付验证成功 ->
权限系统.添加授权(设置有效期) ->
用户.拥有权限
----
客户端.查询授权 ->
权限系统.验证(通过|拒绝)并返回内容|错误 -> 
客户端.接收反馈 ->
用户.使用权限(获取内容等)

- 阅读剩余部分 -