Hello, It may help you. Check http://arafats.info/cakephp-auth-setup/
Thanks Arafat On Sat, Sep 15, 2012 at 4:26 AM, Sumit Srivastava < [email protected]> wrote: > *hey* please tell me how to make login page for admin in cake php i am a > newbie so dont know much... > > I have made a table as "user" name with email pass and id fields. > > I have made user.php page and user_controller.php page and > view/user/login.ctp file > > *model/user.php page* > > <?php > class User extends AppModel { > var $name = 'User'; > var $useTable = 'users'; > > var $validate = array( > 'email' => array( > 'kosher' => array( > 'rule' => 'email', > 'message' => 'Please make sure your email is entered correctly.' > ), > 'unique' => array( > 'rule' => 'isUnique', > 'message' => 'An account with that email already exists.' > ), > 'required' => array( > 'rule' => 'notEmpty', > 'message' => 'Please Enter your email.' > ) > ), > 'passwd' => array( > 'min' => array( > 'rule' => array('minLength', 6), > 'message' => 'Usernames must be at least 6 characters.' > ), > 'required' => array( > 'rule' => 'notEmpty', > 'message'=>'Please enter a password.' > ), > ), > 'passwd_confirm' => array( > 'required'=>'notEmpty', > 'match'=>array( > 'rule' => 'validatePasswdConfirm', > 'message' => 'Passwords do not match' > ) > ), > 'firstname' => array( > 'required' => array( > 'rule' => 'notEmpty', > 'message'=>'Please enter your first name.' > ), > 'max' => array( > 'rule' => array('maxLength', 30), > 'message' => 'First name must be fewer than 30 characters' > ) > ), > 'lastname' => array( > 'required' => array( > 'rule' => 'notEmpty', > 'message' => 'Please enter your last name.' > ), > 'max' => array( > 'rule' => array('maxLength', 30), > 'message' => 'Last name must be fewer than 30 characters' > ) > ) > ); > > function validatePasswdConfirm($data) > { > if ($this->data['User']['passwd'] !== $data['passwd_confirm']) > { > return false; > } > return true; > } > > function beforeSave() > { > if (isset($this->data['User']['passwd'])) > { > $this->data['User']['password'] = > Security::hash($this->data['User']['passwd'], null, true); > unset($this->data['User']['passwd']); > } > > if (isset($this->data['User']['passwd_confirm'])) > { > unset($this->data['User']['passwd_confirm']); > } > > return true; > } > > } > ?> > > *controller/user_controller.php page > * > > <?php > var $components = array('Auth'); > function beforeFilter() { > $this->Auth->userModel = 'User'; > $this->Auth->fields = array('username' => 'email', 'password' => > 'password'); > $this->Auth->loginAction = array('admin' => false, 'controller' => > 'users', 'action' => 'login'); > $this->Auth->loginRedirect = array('controller' => 'users', 'action' => > 'index'); > } > function login() {} > > function logout() { > $this->redirect($this->Auth->logout()); > } > function beforeFilter() { //function that enables people to register > without logging in > $this->Auth->allow('add'); > parent::beforeFilter(); > } > ?> > * > view/users/login.ctp* > > <?php > if ($session->check('Message.auth')) $session->flash('auth'); // If > authentication message it exist it will be displayed > echo $form->create('User', array('action' => 'login')); // creating > user form with 2 fields email and password > echo $form->input('email'); > echo $form->input('password'); > echo $form->end('Login'); > ?> > > *please do check out the naming conventions also and do tell me how to > use them properly* > > -- > You received this message because you are subscribed to the Google Groups > "CakePHP" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > Visit this group at http://groups.google.com/group/cake-php?hl=en-US. > > > -- *Thanks & Regards. ----------------------------------------------------------------------------------------------------------------------------- Yasir Arafat (Hasib)* *Deputy Project Manager, *Software Solutions Grameen Solutions Contact Information: ** ** Cell : +8801816 536 901, +880197 *333* 2 888 Web: http://arafats.info <http://arafats.info> -- You received this message because you are subscribed to the Google Groups "CakePHP" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. Visit this group at http://groups.google.com/group/cake-php?hl=en-US.
