cakephp: $ this-> Auth-> allow - PullRequest
       3

cakephp: $ this-> Auth-> allow

2 голосов
/ 10 октября 2011

Когда я нажимаю кнопку Enroll Now под пропуском на панели навигации, \merry_flowers\views\students\add.ctp должен отображаться.
Вместо этого отображается страница входа в систему. Кто-нибудь знает, что я делаю не так?

Вот мой app_controller.php для проекта:

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

function beforeFilter(){
  if (isset($this->Auth)){
        $this->Auth->userModel='MerryParent';
        $this->Auth->loginAction=array('controller'=>'merry_parents','action'=>'login');
                    //var_dump($this->data);
        $this->Auth->allow('*');
        $this->Auth->loginRedirect=array('controller'=>'merry_parents','action'=>'report_card');
        $this->Auth->logoutRedirect=array('controller'=>'merry_parents','action'=>'register');
        $this->Auth->deny('report_card');
        $this->Auth->authorize='controller';
      }
   else
        $this->Session->setFlash('Auth has not been set');  
}

function isAuthorized(){
    return true;
}

Любая помощь очень ценится.

1 Ответ

2 голосов
/ 10 октября 2011

Одно замечание: если у вашего StudentsController есть beforeFilter, вам нужно будет позвонить parent::beforeFilter, иначе настройки аутентификации не произойдет.

Я бы также отметил предостережение для использования authorize = 'controller';«Помните, что [isAuthorized] будет проверено после того, как вы уже прошли базовую проверку подлинности для пользовательской модели».Учитывая, что у вас есть $this->Auth->allow('*'), аутентификация должна быть полностью пропущена, поэтому я буду искать более фундаментальную ошибку, такую ​​как переопределение beforeFilter.

К сожалению, в вашем вставленном коде ничего не выделяется.В моем опыте проблемы с аутентификацией лица обычно связаны с решениями:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...