-1

我在 cakephp 中做一个旅游系统,我有两种不同类型的最终用户,一种是管理员,另一种是注册用户,所以我需要为这些用户提供两种不同的视图,而且注册用户不应该访问任何控制器管理模块,

现在我不知道如何将这两个用户分开。

4

2 回答 2

2

根据它的声音,您正在寻找的是前缀路由,它应该为您提供所需的一切。

您的 URL 可以由管理员添加前缀(如果适用于相关用户):

http://example.com/admin/posts

它被路由到(在 Posts 控制器中):

public function admin_index(){
    ...
}

呈现app/View/Posts/admin_index.ctp视图。

我不会多说,因为该领域的文档非常详尽。请注意,如果您开始引入多于两个级别的权限(例如用户、超级用户、管理员),那么前缀路由并不适合。您需要查看框架也涵盖的访问控制列表。

于 2013-05-04T18:16:32.230 回答
0

大家好,我有另一种解决此线程的方法,即配置每个控制器。只需将以下代码放入您不想授予访问权限的控制器中



公共函数 beforeFilter(){
if($this->Auth->user('role')=='regular')
{

        $this->Session->setFlash('You cannot access');<br>
        $this->redirect(array('controller'=>'users','action' => 'index'));<br>
    }   
}



因此,如果有人以普通用户身份登录,他/她将重定向到用户控制器或您想要指定的任何其他

于 2013-05-05T19:18:11.637 回答