[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Md5
Jizzy
Помогите пожалуйста поставить хэширование Md5 при авторизации на пароль
Немогу никак понять :huh:
<? $this->pageTitle = 'Авторизация - '.Yii::app()->params->sitename; ?>
<?

if(!Yii::app()->user->isGuest)
$this->redirect(Yii::app()->baseUrl.'/id'.Yii::app()->user->userid);
?>
<center>
<
h3 align="center" class="title">Авторизация</h3>
<
h5 align="center" class="muted"> Введите ваш логин и пароль</h5>
<
form class="form-vertical" id="login-form" action="/site/login" method="post"> <div class="row">
<
div class="col-xs-2"></div>
<
div class="col-xs-8">
<
input placeholder="Ник.." class="form-control col-xs-3" name="LoginForm[username]" id="LoginForm_username" type="text" /> <input placeholder="Пароль.." class="form-control" style="margin-top:40px" name="LoginForm[password]" id="LoginForm_password" type="password" />
</
div>

<
div class="col-xs-3">

</
div>
<
div class="col-xs-2"></div>
</
div> <br> <button class="btn btn-success" style="border-radius:0;width:258px;" type="submit">Войти</button>
<
a href="/site/recovery/"><button class="btn btn-warning" style="border-radius:0;margin-top: 0px;width:258px;" href="/site/recovery/" type="button" >Забыли пароль?</button></a>
</
center>


<?php
class
LoginForm extends CFormModel {
public $username;
public $password;
private $_identity;
public function rules() {
return array(
array('username', 'required','message'=>'Введите логин'),
array('password', 'required','message'=>'Введите пароль'),
array('password', 'authenticate'),
);

}
public function authenticate($attribute,$params) {
if(!$this->hasErrors()) {
$this->_identity=new UserIdentity($this->username,$this->password);
if(!$this->_identity->authenticate())
$this->addError('password','Неверное имя пользователя или пароль.');
}
}

public function login() {
if($this->_identity===null) {
$this->_identity=new UserIdentity($this->username,$this->password);
$this->_identity->authenticate();
}
if($this->_identity->errorCode===UserIdentity::ERROR_NONE) {
Yii::app()->user->login($this->_identity);
return true;
}
else return false;
}
}

?>


<?php

/**
* UserIdentity represents the data needed to identity a user.
* It contains the authentication method that checks if the provided
* data can identity the user.
*/

class UserIdentity extends CUserIdentity
{
private $_id;

public function authenticate() {
$username = strtolower($this->username);
$names = Fields::getNames(1);
$find = 'LOWER('.$names[username][alias].')=?';
$user = Users::model()->find($find,array($username));
if($user===null) $this->errorCode=self::ERROR_USERNAME_INVALID;
else if(!$user->validatePassword($this->password)) $this->errorCode=self::ERROR_PASSWORD_INVALID;
else {
$this->_id = $user->{$names[id][alias]};
$this->username = $user->{$names[username][alias]};
$this->setState('userid',$this->_id);
$this->setState('username',$this->username);
$this->setState('skinid',$user->{$names[skin][alias]});
$this->setState('admin',$user->{$names[admin][alias]});
$this->errorCode=self::ERROR_NONE;
}
return $this->errorCode==self::ERROR_NONE;
}
public function getId() {
return $this->_id;
}
}

?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.