Как убрать параметр «redirect» в аутентификации cakephp? - PullRequest
0 голосов
/ 30 января 2019

Я хочу, чтобы пользователь был перенаправлен на страницу входа, если он не вошел в систему, но без параметра «redirect» в URL. Это мой код:

<code>
    $this->loadComponent('Auth', [
        'authenticate' => [
            'Form' => [
                'fields' => [
                    'username' => 'email',
                    'password' => 'password'
                ]
            ],
        ],
        'loginAction' => [
            'controller' => 'Auth',
            'action' => 'login'
        ],
    ]);
</code>

Я ожидаю, что вывод будет admin / auth / login , но фактический вывод будет admin / auth /login? redirect =% 2Fadmin% 2F

Я уже посмотрел в документации и ничего не нашел.

Ответы [ 2 ]

0 голосов
/ 01 февраля 2019

вам нужно добавить параметр 'unauthorizedRedirect' => false в ваш код.Так что ваш код будет выглядеть так:

$this->loadComponent('Auth', [
    'authenticate' => [
        'Form' => [
            'fields' => [`enter code here`
                'username' => 'email',
                'password' => 'password'
            ]
        ],`enter code here`
    ],
    'loginAction' => [
        'controller' => 'Auth',
        'action' => 'login'
    ],
    'unauthorizedRedirect' => false
]);

Надеюсь, он вам поможет.
, чтобы узнать больше, вы можете проверить Здесь

0 голосов
/ 30 января 2019

Я решил проблему, переписав класс AuthComponent (Cake \ Controller \ Component \ AuthComponent).Для этого я следовал документации, создав псевдоним для компонента (https://book.cakephp.org/3.0/en/controllers/components.html#aliasing-components)

. Я переписал функцию _loginActionRedirectUrl () , заставив ее вернуть $ this -> _ config ['loginAction '];

...