Bri*_*zel 38
我们来看一个最基本的例子:博客应用程序(再次).
构建博客应用程序时,通常需要对用户进行身份验证并授权他们执行特定操作,例如:
角色表示一组权限,在您的应用程序中进行硬编码.在检查是否允许用户向博客添加新贡献者时,您的代码会检查当前用户是否具有角色"ROLE_ADMIN".
这就是为什么Bob(他有ROLE_ADMIN)被允许添加Alice作为新的贡献者.请参阅有关安全性/角色的Symfony文档.
当用户属于某个群组时,她通常会获得一组角色.Alice属于"贡献者"组,因此她拥有角色ROLE_STATS(她可以查看博客统计信息)和ROLE_POST(她可以发布新的博客条目).
同样,这个概念在Symfony中没有硬编码,但开发人员通常会这样认为.请参阅使用Groups管理数据库中的角色.
当您需要根据Role +域对象做出授权决策时,访问控制列表会派上用场.
允许Alice编辑她编写的博客条目.要检查此授权,您需要Alice的角色和她尝试编辑的Post模型. Symfony关于ACL的文档也很清楚.
哦,Bob允许编辑所有博客条目,因为他有ROLE_ADMIN.这里的决定仅基于角色.
| 归档时间: |
|
| 查看次数: |
6640 次 |
| 最近记录: |