为什么应该在 CakePHP 中使用 ACL,而不是使用用户级功能进行身份验证?
当我自己可以完成 ACL 时,我很难看到解决所有麻烦的好处。
Having difficulty seeing the advantage of going through all the trouble with ACL when I could do it myself.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用 ACL 系统的最佳理由是访问要求可能会发生变化。检查 user_level > 5是现在需要的,但将来可能会改变。检查角色是否被允许执行特定操作有更高层次的抽象,因为它不依赖于条件。因此,这种情况可以随着时间的推移而改变。
The best reason to use an ACL system is that access requirements may change. A check for user_level > 5 is what is needed now, but it may change in the future. There is a higher level of abstraction in checking if a role is allowed a certain action because it is not tied to a condition. This condition is thus allowed to change over time.
如果您使用 acl,您可以创建一个后端来管理它,因此当您将项目移交给最终用户时,最终用户可以自行完成,而无需了解代码。
它也比较干燥,因此,例如,如果您必须添加新的用户类型,您只需向数据库添加新行,而不必将其侵入到您的代码中
If you use acl you can create a backend to manage it so when you hand your project over the end user can do it them self without needing to know code.
It is also mor DRY so if for example you had to add a new user type you can just add new rows to the db instead of having to hack it into your code