0
改變控制器名稱登錄我加了一個前綴管理和改變控制器Userscontroller到的LoginController現在本地主機:8765 /管理員工作正常,但本地主機:8765 /管理/登入/ check_login sbut當我提交我的形式,它給我一個錯誤錯誤:請求的地址「/管理/登錄/查詢登錄」此服務器上未發現其中check_login是我的身份驗證行動無法使用admin前綴和cakephp3
路由器
Router::prefix('admin', function ($routes) {
$routes->connect('/', ['controller' => 'Login', 'action' => 'display','login']);
});
應用控制器
public function initialize() {
$this->loadComponent('Flash');
$this->loadComponent('Auth', [
'authenticate' => [
'Form' => [
'fields' => [
'username' => 'username',
'password' => 'password'
]
]
],
'loginAction' => [
'controller' => 'Login',
'action' => 'check_login',
'prefix' => 'admin'
],
]);
// Allow the display action so our pages controller
// continues to work.
$this->Auth->allow(['display']);
檢查登錄行動
public function check_login() {
if ($this->request->is('post')) {
$admin = $this->Auth->identify();
if ($admin) {
$this->Auth->setUser($admin);
$result['status'] = 'success';
echo json_encode($result);
}
$result['status'] = 'failure';
$result['message'] = 'Your username or password is incorrect';
echo json_encode($result);
die;
}
}
在此先感謝
當您收到錯誤消息時,URL中是否包含自定義端口號? –
是的,現在它正在工作,但現在在登錄操作時,$ this-> Auth-> identify()被讀取,它給出了一個內部服務器錯誤 –
我更改了操作check_login登錄 –