cakePHP - как аутентифицируется AuthComponent? - PullRequest
0 голосов
/ 13 июля 2011

Я пытаюсь обернуть голову вокруг аутентификации компонента auth.

В настоящее время мой AppController выглядит примерно так.

class AppController extends Controller 
{
    var $components = array('Auth', 'Session');

    function beforeFilter() 
    {
        $this->Auth->loginAction = array('controller' => 'users', 'action' => 'login');
        $this->Auth->loginRedirect = array('controller' => 'users', 'action' => 'index');
        $this->Auth->logoutRedirect = array('controller' => 'users', 'action' => 'login');
    }
}

Если я оставлю свое действие login полностью пустым, компонент аутентификации все равно будет пытаться пройти аутентификацию, когда пользователь достигнет страницы входа.

Это так и должно быть? Не может ли это быть проблемой, если она всегда пытается аутентифицироваться?

1 Ответ

3 голосов
/ 13 июля 2011

Если запрошенное действие является действием, настроенным в AuthComponent::loginAction (UserController::login по умолчанию) и $this->data содержит поля, настроенные в AuthComponent::userModel / AuthComponent::fields (User.username и User.password по умолчанию),AuthComponent попытается аутентифицировать текущего пользователя.Он автоматически попытается выполнить это после выполнения Controller::beforeFilter, но за до будет вызвано запрошенное действие.Если вход был успешным (и все дополнительные ограничения, которые вы, возможно, применили в конфигурации AuthComponent, были сняты), он будет перенаправлен туда, откуда пришел пользователь, в противном случае он выполнит запрошенное действие как обычно.

Так что нет, это не создаст проблемы, так как будет предприниматься попытка аутентификации только при данных обстоятельствах.

...