Изменение настроек входа по умолчанию с помощью CakePHP - PullRequest
2 голосов
/ 14 августа 2010

У меня есть кое-что, что, как мне показалось, было относительно распространенной проблемой, но после исследования проблемы это оказалось не так просто, как предполагалось.

У меня есть приложение CakePHP (используется версия 1.2.7) иЯ пытаюсь изменить стандартную процедуру входа в систему с использованием компонента Auth.Я хотел бы использовать постоянный экран входа в систему (например, этот плагин Jquery: http://web -kreation.com / demos / Sliding_login_panel_jquery / ), который мои пользователи будут использовать для входа в систему.

In Cakeтерминологии, я хотел бы иметь возможность войти в компонент Auth с экрана / pages / home, но Cakephp продолжает перенаправлять на /users/login.

в контроллере моего приложения:

 function beforeFilter()
 {
  ...
  $this->Auth->loginAction = array( 'controller' => 'users', 'action' => 'login' );
  $this->Auth->loginRedirect = array( 'controller' => 'pages', 'action' => 'home' );
  $this->Auth->logoutRedirect  = array( 'controller' => 'pages', 'action' => 'home' );
  $this->Auth->autoRedirect = false;
  ...
 }

Если я поменяю loginAction на / pages / home.логин не работает, на самом деле он даже не публикует метод / users / login.Не совсем уверен, что произошло.

У меня такой вопрос:

Как мне сделать форму входа, расположенную по адресу www.EXAMPLE.com/, которая вернется в то же место науспешный и неудачный вход в систему?

Я бы предпочел, чтобы он не перенаправлялся в / users / login или вообще не отображался в URL.

Ответы [ 3 ]

2 голосов
/ 11 декабря 2013

Чтобы изменить URL-адрес входа по умолчанию, установленный 'Auth'

, внесите изменения в lib/cake/Controller/component/AuthComponent.php

   public $loginAction = array(
        'controller' => 'users', //Change here
        'action' => 'login',
        'plugin' => null
    );
2 голосов
/ 14 августа 2010

Если вы установите $ this-> Auth -> autoRedirect в false, то вы должны будете перенаправить вручную в методе login ().Взгляните на это также.

0 голосов
/ 16 августа 2010

Чтобы изменить место отправки формы, просто измените URL отправки в вашей форме, это очень просто.

$form->create('User', array('url'=>array('controller'=>'users','action'=>'login')))

Затем вы можете загрузить свою страницу и проверить атрибут action, и вы должны увидеть свой /users/login:)

...