1.3授权的数据模型
如何进行授权即如何对用户访问资源进行控制,首先需要学习授权相关的数据模型。
授权可简单理解为Who对What(Which)进行How操作,包括如下:
Who,即主体(Subject),主体一般指用户,也可以是程序,需要访问系统中的资源。
What,即资源(Resource),如系统菜单、页面、按钮、代码方法、系统商品信息、系统订单信息等。系统菜单、页面、按钮、代码方法都属于系统功能资源,对于web系统每个功能资源通常对应一个URL;系统商品信息、系统订单信息都属于实体资源(数据资源),实体资源由资源类型和资源实例组成,比如商品信息为资源类型(实体类),商品编号001的商品为资源实例(对象)。
How,权限/许可(Perssion),规定了用户对资源的操作许可,权限离开资源没有意义,如用户查询权限、用户添加权限、某个代码方法的调用权限、编号为001的用户修改权限等,通过权限可知用户对哪些资源都有哪些操作许可。
主体、资源、权限关系如下图: