控制Web应用程序中的授权/范围

时间:2011-02-06 22:10:58

标签: web-applications authorization

我曾经遇到的关于授权的每一个讨论或教程都只涉及简单的二进制授权。在博客应用程序中,用户可以编辑页面吗?用户可以批准评论吗?这样的简单例子。

我没有看到很多更复杂的“范围”授权示例。用户可以编辑页面吗?用户可以批准评论吗? ...用户有权对某些记录执行操作,但不是全部。

这个问题有共同的方法吗?有什么好例子吗?我可以提出各种简单的解决方案,但我讨厌感觉我正在重新发明轮子。

FWIW,我正在处理的当前应用程序是用Python Pylons构建的。

2 个答案:

答案 0 :(得分:1)

是的,偶尔会碰到这个。你可以看看Python是否有类似于PHP的GACL。但这可能有点矫枉过正。

如果你经常遇到这个问题,我会实现一个ACL并重新使用它。当然,您正在使用相同的框架。

答案 1 :(得分:1)

我见过它有两种方式:

  1. 在富域模型中,被更改的对象可以进行安全检查(当用户无权编辑对象时,可以将对象置于只读模式,否则会抛出异常,例如)。
  2. 在贫血域模型中,检查由对象(或协作安全服务)上的服务进行。
  3. 这两种方法都需要工作。