我正在使用Cake 2.1.3和routes.php文件,一切正常,除了登录管理,例如我想要我的网址如下:
http://mysite.com/companyx/users/login
其中companyx是slug,但是当你在浏览器中运行该url时如下:
在这个文件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 :(得分: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覆盖此操作。
答案 1 :(得分:0)
public function beforeFilter() {
parent::beforeFilter();
if (!$this->request->is('post')) {
$this->Auth->loginAction = 'this is:slug/users/login/';
}
}
凡“这是slu”,应该是slu ..
最诚挚的问候。