加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

CakePHP身份验证与前缀路由

发布时间:2020-12-13 21:35:47 所属栏目:PHP教程 来源:网络整理
导读:我正在建立一个Cake PHP网站,我希望有3个部分: 公共区域 用户区 管理区域 我在routes.php中设置了前缀路由,看起来像 Router::connect('/user/:controller/:action/*',array('prefix' = 'user','user' = true));Router::connect('/admin/:controller/:action
我正在建立一个Cake PHP网站,我希望有3个部分:

>公共区域
>用户区
>管理区域

我在routes.php中设置了前缀路由,看起来像

Router::connect('/user/:controller/:action/*',array('prefix' => 'user','user' => true));
Router::connect('/admin/:controller/:action/*',array('prefix' => 'admin','admin' => true));

我想要它所以任何带有user_前缀的动作都将重定向到登录屏幕,如果尚未登录并且用户类型是’正常'(侧面问题:用户可以正常:P)并且任何具有admin_前缀的操作也会重定向但需要用户类型的管理员.

我开始尝试使用Auth组件,但它似乎非常不灵活,而ACL似乎超过顶部.谁能提供一些关于实现我想要的最佳方法的建议?

解决方法

Auth组件应该具有足够的灵活性.

你可以像这样做一个beforeFilter():

//  I think it's params['prefix'],might be different
//               vvvvvvvvvvvvvvvv
if (isset($this->params['prefix'])) {
    $this->Auth->userScope = array('User.type' => $this->params['prefix']);
}

您还可以根据需要将isAuthorized()函数添加到模型或控制器,以执行更高级的身份验证.见http://book.cakephp.org/1.3/en/The-Manual/Core-Components/Authentication.html#authcomponent-variables.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读