第一个问题:
如何ACL可以在MVC应用程序中有效实现吗?现有方法有缺点,例如向每个控制器的方法添加 ACL 代码或将所有控制器的方法保持私有。 ACL 实施的最佳实践是什么?
第二个问题:
使用 ACL 限制个人资料查看权限时,如何确定个人资料的所有者?
第一个答案(ACL实现)
推荐的做法是使用装饰器模式将目标对象包装在保护壳中。装饰器对象在目标对象外部处理授权检查,确保关注点分离并遵守单一职责原则 (SRP)。使用 SecureContainer 类提供了此方法的示例。
优点:
但是:
第二个答案(对象的 RBAC)
确定配置文件的所有者,向 ACL 提供相关详细信息。这可以通过以下任一方式完成:
附加注意
以上是如何在 Web MVC 应用程序中有效实施访问控制列表 (ACL)?的详细内容。更多信息请关注PHP中文网其他相关文章!