Базовый вход с использованием компонента auth в cakephp2.2
Не могли бы вы рассказать, как использовать компонент авторизации в cake2.2 для входа в систему путем аутентификации из таблицы базы данных. Как мой AppController.php является: `
class AppController extends Controller {
var $components = array('Auth', 'Session');
var $helpers = array('Form');
}`
мой UsersController.php это:
class UsersController extends AppController {
var $name = 'Users';
var $components = array('Auth');
function login()
{
}
function logout()
{
$this->redirect($this->Auth->logout());
}
}
мой взгляд как:view\user\login.ctp
<?php
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');
?>
2 ответа
Вы можете настроить компонент конфигурации Auth и должен выглядеть примерно так
public $components = array(
'Auth' => array(
'loginAction' => array(
'controller' => 'users',
'action' => 'login',
'plugin' => 'users'
),
'authError' => 'Did you really think you are allowed to see that?',
'authenticate' => array(
'Form' => array(
'fields' => array('username' => 'email')
)
)
)
);
Функция для входа в систему, которая вроде как Ceeram опубликовала
<?php
public function login() {
if ($this->request->is('post')) {
if ($this->Auth->login()) {
return $this->redirect($this->Auth->redirect());
} else {
$this->Session->setFlash(__('Username or password is incorrect'), 'default', array(), 'auth');
}
}
}
Все, что я говорю, находится в официальной документации, и этот учебник об Auth действительно хорошо объяснен http://book.cakephp.org/2.0/en/core-libraries/components/authentication.html
public function login() {
if ($this->Auth->login()) {
$this->redirect($this->Auth->redirect());
}
}