是否根据cakephp中的角色多次登录?

是否根据cakephp中的角色多次登录?,cakephp,Cakephp,我是CakePHP新手。我正在尝试为不同的角色创建多个登录,例如:学生、职员和管理员 我遵循了以下教程: 管理员登录当前正在工作 现在我想使用student controller&view创建学生登录 class AppController extends Controller { public $components = array( 'Session', 'Auth' => array( 'loginRedirect' => array('con

我是CakePHP新手。我正在尝试为不同的角色创建多个登录,例如:学生、职员和管理员

我遵循了以下教程:

管理员登录当前正在工作

现在我想使用student controller&view创建学生登录

class AppController extends Controller {

public $components = array(
    'Session',
    'Auth' => array(
        'loginRedirect' => array('controller' => 'classes', 'action' => 'index'),
        'logoutRedirect' => array('controller' => 'users', 'action' => 'login')
    )
);

  function beforeFilter(){
    if (isset($this->params['admin'])) { 
        $this->layout = 'admin_default';
    }
    elseif (isset($this->params['student'])){
        $this->layout = 'student_default';
    }

    $this->Auth->allow('index', 'view');
   }
 }
我该怎么办请帮忙。
谢谢。

如果没有相应的学生模型,我想您不应该创建学生控制器。考虑到您的请求,您可以实现如下内容:

/admin/users/login
/student/users/login
/otherrole/users/login
只需将其添加到config/core.php文件:

Configure::write('Routing.prefixes', array('admin'));
并创建自定义操作。。。例如管理员登录、学生登录等等


查看此=>谢谢您的回复。是的,我正在尝试实现/student/users/login,但它不起作用。我已经在UsersController下创建了student\u login(),并在view/Users下创建了student\u login.ctp。“我做错了什么,请告诉我。@chirag您是否在路由前缀数组中添加了“student”字符串?您应该声明如下:Configure::write('Routing.prefixes',array('admin','student');是的,我加了。公共函数student_login(){if($this->request->is('post')){if($this->Auth->login()){return$this->redirect($this->Auth->redirect());}$this->Session->setFlash(uuuu('Invalid username或password,重试'));})无法对任何用户进行身份验证。您应该首先将条件传递给student_login()中的login()函数操作您必须只搜索属于该用户组的用户。对于您的登录/认证问题,您应该遵循CookBook指南,该指南解释了您需要的一切。如果出现任何问题,您可能会发现这很有用=>if(isset($this->params['admin']){$this->layout='admin_default';if($this->Auth->loggedIn()){if($this->Auth->user('user_type')!='admin'){返回$this->redirect('/.$this->Auth->redirect('/.$this->Auth->user('user_type')))}}}}elseif(isset($this->params['student'])){$this->layout='student_default';if($this->Auth->user('user_type')!='student'){返回$this->redirect('/'.$this->Auth->user('user_type'));}