架构设计 - Laravel框架做电商应用,社交应用,社区应用等等,安全授权系统(authorization)的设计有哪些不同?
高洛峰
高洛峰 2017-05-16 16:54:44
0
1
603

最近学习laravel,对laravel自带的授权系统比较困惑,想问一下。

知识概览:

访问控制的模型:
主要的访问控制类型有3种模型:自主访问控制(DAC)、强制访问控制(MAC)和基于角色访问控制(RBAC)。   

1、自主访问控制     自主访问控制(Discretionary Access

Control,DAC)是一种接入控制服务,通过执行基于系统实体身份及其到系统资源的接入授权。包括在文件,文件夹和共享资源中设置许可。用户有权对自身所创建的文件、数据表等访问对象进行访问,并可将其访问权授予其他用户或收回其访问权限。允许访问对象的属主制定针对该对象访问的控制策略,通常,可通过访问控制列表来限定针对客体可执行的操作。

2、强制访问控制

强制访问控制(MAC)是系统强制主体服从访问控制策略。是由系统对用户所创建的对象,按照规定的规则控制用户权限及操作对象的访问。主要特征是对所有主体及其所控制的进程、文件、段、设备等客体实施强制访问控制。

3、基于角色的访问控制

角色(Role)是一定数量的权限的集合。指完成一项任务必须访问的资源及相应操作权限的集合。角色作为一个用户与权限的代理层,表示为权限和用户的关系,所有的授权应该给予角色而不是直接给用户或用户组。RBAC后来还变成了,RBAC0,RBAC1,RBAC2等。

4、基于属性的访问控制ABAC        

5、基于策略的访问控制PBAC等

问题:
1.社交类网站如人人、知乎、twitter等等的授权系统更偏向使用哪种 授权模型?

2.电商类如天猫、蘑菇街等等的授权系统更偏向使用哪种 授权模型?

3.大部分框架自带了Authorization授权系统(大多基于ACL技术的授权系统),但大多不是RBAC模型的系统。如果我直接使用框架自带的授权系统如Laravel5.1.11里面的(Gate/Policy等等-基于acl的授权系统),着手做社交类和电商类应用,我该解决哪些问题呢?

4.使用3.里面提到的"....自带的授权系统", 如何解决网站的后台管理的授权部分的设计问题? 大部分应用,大致分为 frontend(用户,公开界面)和 backend(admin管理)和 superadmin(root站点,超级管理员)这几个不同的角色的权限问题呢?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(1)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板