2012-07-06 93 views
0

我工作蛋糕2.1.3和routes.php文件文件,一切正常,除了登录管理带走蛞蝓,比如我想我的网址如下:登录从我的网址

http://mysite.com/companyx/users/login

其中公司CompanyX是蛞蝓,但是当您运行网址在浏览器如下:

http://mysite.com/users/login

在我定义为这个文件routes.php文件如下:

Router::connect(
     '/:slug/users/login', // E.g. /companyx/users/login 
     array('controller' => 'users', 'action' => 'login'), array(
     // order matters 
     'pass' => array('slug') 
     ) 
    ); 

与其他控制器我没有问题,例如:

Router::connect(
     '/:slug/users', // E.g. /companyx/users 
     array('controller' => 'users', 'action' => 'index'), array(
     // order matters 
     'pass' => array('slug') 
     ) 
    ); 

此致)

回答

0

CakePHP有在AuthComponent定义缺省登录的动作。 (171行)

/** 
    * A URL (defined as a string or array) to the controller action that handles 
    * logins. Defaults to `/users/login` 
    * 
    * @var mixed 
    */ 
public $loginAction = array(
    'controller' => 'users', 
    'action' => 'login', 
    'plugin' => null 
); 

您可以在自己的UsersController中用beforeFilter覆盖此操作。

0

谢谢你的回答。我以这种方式解决了这种情况:

public function beforeFilter() { 
    parent::beforeFilter(); 
    if (!$this->request->is('post')) { 
     $this->Auth->loginAction = 'this is:slug/users/login/'; 
    } 
} 

“这是slu”“,应该是slu。子。

最好的问候。