如何创建动态路由取决于使用CakePHP的用户身份验证?

时间:2014-02-11 09:26:00

标签: php cakephp

通常我在CakePHP中的主页路由如下:

Router::connect('/', array('controller' => 'users', 'action' => 'login'));

用户进入主页后登录后,我将其重定向如下:

function login (){
    ... ... ...
    if($this->Auth->user()){
         $this-> redirect(array('controller'=>'users', 'action'=>'dashboard'));
    }
    ... ... ...
}

然后浏览器将url显示为“/ users / dashboard”。但是我希望将URL显示为“/”,即当记录用户主页路由时将如下所示:

Router::connect('/', array('controller'=>'users', 'action'=>'dashboard'));

如果您有任何想法,请分享。

1 个答案:

答案 0 :(得分:0)

保持路由器原样:

Router :: connect('/',array('controller'=>'users','action'=>'login'));

现在,在登录方法中,您必须使用以下内容:

  1. 检查用户是否被插入。
  2. 如果未登录,则渲染登录页面。
  3. 如果已登录,则渲染仪表板页面。
  4. 在登录功能中执行任何功能。

    function login (){
      if($this->Auth->user('id')){
    if (!empty($this->data)) {
      //Do the login as per the information provided by user.
      //After log in redirect to the below
      $this->redirect('/');
    }
     //Do something.........
     $this->render('/users/login');
      }else{
       //Do something.........
       $this->render('/users/dashboard');
      }
    }