I found some new thing in cakephp 2.x. I just tried to show here how quickly we can setup Auth Component in to our project.
First we need to setup configuration
// app/Controller/AppController.php
var $components = array(
"Auth" => array(
'loginRedirect' => array('controller' => 'dashboard', 'action' => 'index'), // After success where page goes to
'logoutRedirect' => array('controller' => 'users', 'action' => 'login') // This is login page
),
"Session");
function beforeFilter(){
.....
$this->Auth->authenticate = array(
AuthComponent::ALL => array('userModel' => 'User', 'scope' => array("User.status" => 1)),
'Form');
}
Logic check controller.
//app/Controller/UsersController.php
function login()
{
if($this->request->is('post')){
{
if($this->Auth->login()){
$this->loginUser = AuthComponent::user(); // Here $this->loginUser is defined so we can get the user values here.
return $this->redirect($this->Auth->redirect());
}else{
$this->Session->setFlash('Username or password is incorrect', 'default', array(), 'auth');
}
}
}
}
Login view here, this is login form
echo $this->Session->flash('auth'); // This will show the authentication error message
echo $this->Form->create('User', array("controller" => "users", "action" => "login", "method" => "post"));
echo $this->Form->input('User.username', array("label" => "Username:"));
echo $this->Form->input('User.password', array("label" => "Password: "));
echo $this->Form->end('Login');
When we create a user we need to setup the hash password field
If we need hash password, we need to do the follwoing
//app/Model/User.php
function beforeSave(){
if (isset($this->data[$this->alias]['password'])) {
$this->data[$this->alias]['password'] = AuthComponent::password($this->data[$this->alias]['password']);
}
}
I can add user normally and its work.
I just show here the basic login use which is used for quick setup.
Happy login 😀
If you want to go more advanced uses of component go to Docs
Like this:
Like Loading...