Cakephp Adminpanel与Acl的最佳实践?

Cakephp Adminpanel与Acl的最佳实践?,cakephp,cakephp-2.3,Cakephp,Cakephp 2.3,我只是和Cakephp一起工作了几天,印象非常深刻。但现在我正试图更接近Acl,但它有点混乱 我的情况是,我想创建一个有前端和后端的网站。但是我不确定我是否真的需要Acl,因为所有页面都应该对所有用户可用,当然后端除外。食谱中的教程没有太大的帮助,因为它们都是关于创建用户、组和角色,以及为登录、添加和编辑用户等创建正确的视图 但我只需要关于Acl处理什么的信息?它是否限制控制器或模型的使用 或者我需要Acl以外的东西?如果检查错误,那么检查会话变量并直接重定向到控制器可能更容易 希望你能让我走上

我只是和Cakephp一起工作了几天,印象非常深刻。但现在我正试图更接近Acl,但它有点混乱

我的情况是,我想创建一个有前端和后端的网站。但是我不确定我是否真的需要Acl,因为所有页面都应该对所有用户可用,当然后端除外。食谱中的教程没有太大的帮助,因为它们都是关于创建用户、组和角色,以及为登录、添加和编辑用户等创建正确的视图

但我只需要关于Acl处理什么的信息?它是否限制控制器或模型的使用

或者我需要Acl以外的东西?如果检查错误,那么检查会话变量并直接重定向到控制器可能更容易

希望你能让我走上正轨

提前表示感谢,并致以德国最良好的问候


Sascha

我建议您阅读本章并使用Auth组件,而不是像人们戏弄的那样简单地访问会话

对于您的管理后端,请使用前缀路由


与auth结合使用,这非常容易在isAuthorized()回调中检查和实现。

如果您不需要各种“级别”的权限;i、 e.允许任何登录用户访问后端,最好跳过ACL(目前)。如果在以后的阶段中需要ACL,则始终可以在以后添加它

您可以从“简单”身份验证开始。食谱中的这一章描述了如何做到这一点;

一般来说,不要开发您现在不需要的功能。例如,因为您将来可能需要ACL而实施ACL只会使您的开发过于复杂,而且很有可能,当这一时刻到来时,它们不符合要求

与@burzum不同,我不太喜欢前缀路由(仅适用于非常简单的项目),因为最终会在同一个控制器中混合前端和后端操作和逻辑

我建议为后端创建单独的控制器,可能将其开发为插件。无论哪种方式,您都可以考虑为后端创建“BASE”控制器和模型,并使后端控制器/模型扩展它们。这样,您就可以在1个位置定义用于后端的组件/行为。此外,通过仅在后端控制器中加载“Auth”组件,您不必在前端的每个控制器中“允许”操作

比如,

class BackendCoreController extends AppController {
    // only load the Auth component in backend controllers
    // regular/frontend controllers don't require authentication
    $components = array('Auth');

}


class PageAdminController extends BackendCoreController {

}
有关将后端开发为插件的注意事项,请参见我的回答:


如果您怀疑ACL是否过度使用(或者即使您不怀疑),那么ACL就是过度使用。