Cakephp с базовым компонентом аутентификации - PullRequest
0 голосов
/ 07 октября 2011

Я пытаюсь использовать cakephp с компонентом аутентификации, и это не работает.Кто-нибудь может помочь мне, большое спасибо.Это мой код:

Файл контроллера здесь

Class UsersController extends AppController {

var $name = 'Users';
var $uses = array('User');
var $viewPath = 'my_view/user';
var $layout = 'default';
var $helpers = array('javascript');

function beforeFilter() {
    parent::beforeFilter();
}

function login() {
    $this->layout = 'login';
}

function logout() {
    $this->layout = 'login';
    $this->redirect($this->Auth->logout());
}

Файл модели:

Class User extends AppModel {

    var $name = 'User';
    var $useTable = 'users';
    var $belongsTo = array();
    var $validate = array(
        'username' => array(
            'rule' => 'notEmpty',
            'message' => 'Username cannot empty'
        )
    );

}

Файл AppController:

var $components = array('Auth','Session');

function beforeFilter() {
    Security::setHash("md5");
    $this->Auth->fields = array('username' => 'username', 'password' => 'password');
    $this->Auth->loginAction = array('controller' => 'users', 'action' => 'login');
    //$this->Auth->loginRedirect = array('controller' => 'users', 'action' => 'index');
    $this->Auth->logoutRedirect = '/';
    $this->Auth->loginError = 'Invalid e-mail / password combination.  Please try again';
    $this->Auth->authError = "This  error shows up with the user tries to access a part of the website that is protected.";
}

На мой взгляд:

echo $this->Session->flash('auth');
echo $this->Form->create('User');
echo $this->Form->input('username');
echo $this->Form->input('password');
echo $this->Form->end('Login');

из моего кода, мне нужно войти в систему, чтобы перенаправить на какую-то страницу (пример: dashboards / index).И из этого кода должен выводить String из $ this-> Auth-> loginError, когда сбой входа в систему, но он не отображается, тогда я не знаю, чтобы решить это.И в моем БД я тоже храню пароль по md5.Код выше я копирую и пытаюсь из Google Спасибо еще раз.

Ответы [ 2 ]

2 голосов
/ 26 ноября 2011

Я не знаю, но если вы следовали учебному пособию «Простая аутентификация и авторизация» на сайте, вам придется изменить свой «route.php», чтобы также разрешить доступ к «display», чтобы получить доступ к вашему / страницы / контроллер. Я понятия не имею, если это ваша проблема, но вроде как.

0 голосов
/ 07 октября 2011

Ну, пожалуйста, поместите этот оператор $ this-> Auth-> allow ('login'); в ваших пользовательских контроллерах callback beforeFilter () после parent :: beforeFilter ();вызов этого позволит вам использовать действие входа в систему, либо вы вошли в систему или нет

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