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

Web applications 控制web应用程序中的授权/范围,web-applications,authorization,Web Applications,Authorization,我遇到的关于授权的每个讨论或教程都只涉及简单的二进制授权。在博客应用程序中,用户可以编辑页面吗?用户可以批准评论吗?像这样简单的例子 我没有看到太多更复杂的基于“范围”的授权示例。用户可以编辑此页面吗?用户是否可以批准此评论。。。用户有权对某些记录执行操作,但不是所有记录 有解决这个问题的通用方法吗?有好的例子吗?我可以想出各种简单的解决方案,但我讨厌感觉自己在重新发明轮子 FWIW,我正在处理的当前应用程序是在Python挂架中构建的。是的,我偶尔会遇到这个问题。您可以看看Python是否有类

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

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

有解决这个问题的通用方法吗?有好的例子吗?我可以想出各种简单的解决方案,但我讨厌感觉自己在重新发明轮子


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

是的,我偶尔会遇到这个问题。您可以看看Python是否有类似于PHP的GACL的东西。但这可能有点过头了


如果您经常遇到这个问题,我会实现一个ACL并重用它。假设您使用的是相同的框架

我见过两种方法:

  • 在富域模型中,被更改的对象可以进行安全检查(例如,当用户无权编辑该对象时,该对象可以被置于只读模式,否则将抛出异常)
  • 在贫血域模型中,检查由操作对象的服务(或协作安全服务)完成

  • 这两种方法都需要努力

    这是一个好问题。但我认为这主要取决于问题领域。我的意思是,问题领域的差异如此之大,我不希望你能在一本书中找到任何普遍的“最佳”方法。例如,看看这个stackoverflow网站——你认为他们在一本书中读到了这方面的内容后做了这么大的工作吗?再想想。