Я использую плагин аутентификации для входа в cakephp.
application.php , код метода configAuth()
protected function configAuth(): \Authentication\AuthenticationService
{
$authenticationService = new \Authentication\AuthenticationService([
// 'unauthenticatedRedirect' => '/cake_invo/users/login' , //<= manually working fine
'unauthenticatedRedirect' => \Cake\Routing\Router::url(['controller' => 'Users', 'action' => 'login']),
'queryParam' => 'redirect',
]);
// Load identifiers, ensure we check email and password fields
$authenticationService->loadIdentifier('Authentication.Password', [
'fields' => [
'username' => 'email',
'password' => 'password',
]
]);
// Load the authenticators, you want session first
$authenticationService->loadAuthenticator('Authentication.Session');
// Configure form data check to pick email and password
$authenticationService->loadAuthenticator('Authentication.Form', [
'fields' => [
'username' => 'email',
'password' => 'password',
],
// 'loginUrl' => '/cake_invo/users/login' //<= manually working fine
'loginUrl' => \Cake\Routing\Router::url(['controller' => 'Users', 'action' => 'login']),
]);
return $authenticationService;
}
промежуточный метод
public function middleware(MiddlewareQueue $middlewareQueue): MiddlewareQueue
{
$middlewareQueue
->add(new ErrorHandlerMiddleware(Configure::read('Error')))
->add(new AssetMiddleware([
'cacheTime' => Configure::read('Asset.cacheTime'),
]))
->add(new RoutingMiddleware($this))
// add Authentication after RoutingMiddleware
->add(new \Authentication\Middleware\AuthenticationMiddleware($this->configAuth()));
return $middlewareQueue;
}
Получение ошибки, похожей на изображение
Как я могу решить эту проблему ?
После передачи командных маршрутов bin/cake
bin/cake routes
. При этом, где именно в списке промежуточных программ вы добавляете промежуточное программное обеспечение аутентификации (добавьте свой кодApplication::middleware()
к своему вопросу, если вы не уверены, о чем я говорю)? - person ndm   schedule 04.02.2020http://localhost/cake_invo/Users/login
не соответствует/users/login
». - person Niloy Rony   schedule 05.02.2020middleware()
, код, в котором вы делаете->add(new AuthenticationMiddleware($this))
, вы, вероятно, не добавляете вещи в требуемом порядке. Ваши маршруты выглядят нормально. - person ndm   schedule 05.02.2020