yii 从数据库获取用户名、密码
2013-09-18 00:00
225 查看
修改 protected/components/UserIdentity.php
class UserIdentity extends CUserIdentity
{
private $_id;
public function authenticate()
{
$username=strtolower($this->username);//将用户输入的用户名变为小写(防止因大小写重名)
$user=User::model()->find('LOWER(username)=?',array($username))
//'LOWER(username)此处的username 为数据库user表里的字段
if($user==null){
$this->errorCode=self::ERROR_USERNAME_INVALID;
}else{
if(!$user->validatePassword($this->password)){
//validatePassword 为模型user类里的方法
$this->errorCode=self::ERROR_PASSWORD_INVALID;
}else{
$this->_id=$user->id;
$this->username=$user->username;
$this->errorCode=self::ERROR_NONE;
}
}
return $this->errorCode===self::ERROR_NONE;
}
public function getId(){
return $this->_id;
}
}
在模型user类中(models/user.php)添加如下
public function validatePassword($password){
return $this->encypt($password)===$this->password;
}
public function encypt($pass){
return md5($pass);
}
class UserIdentity extends CUserIdentity
{
private $_id;
public function authenticate()
{
$username=strtolower($this->username);//将用户输入的用户名变为小写(防止因大小写重名)
$user=User::model()->find('LOWER(username)=?',array($username))
//'LOWER(username)此处的username 为数据库user表里的字段
if($user==null){
$this->errorCode=self::ERROR_USERNAME_INVALID;
}else{
if(!$user->validatePassword($this->password)){
//validatePassword 为模型user类里的方法
$this->errorCode=self::ERROR_PASSWORD_INVALID;
}else{
$this->_id=$user->id;
$this->username=$user->username;
$this->errorCode=self::ERROR_NONE;
}
}
return $this->errorCode===self::ERROR_NONE;
}
public function getId(){
return $this->_id;
}
}
在模型user类中(models/user.php)添加如下
public function validatePassword($password){
return $this->encypt($password)===$this->password;
}
public function encypt($pass){
return md5($pass);
}
相关文章推荐
- 数据库用户名 获取当前用户名和密码 USER_NAME CURRENT_USER SESSION_USER 的区别
- Spring MVC(一)登陆界面获取用户名和密码并跳转其它页面
- Openmeetings获取另外项目jsp中的用户名密码
- java中用户名与密码和数据库连接的两种方式
- Pycharm 创建 Django admin 用户名和密码-数据库偏移
- c#学习ado.net 向数据库插入一个用户名和密码
- 用javcscript记住用户名和密码保存在本地储存中,然后实现前端获取
- 使用properties属性存储连接数据库用到的用户名和密码
- 获取用户名跟密码的servlet小案例
- spring web项目 数据库用户名密码加密解密
- SQL获取所有用户名,数据库名、所有表名、所有字段名及字段类型
- 备份Toad中保存的数据库连接用户名和密码
- mysql用命令修改数据库的用户名和密码
- SQL Server 2005为数据库设置用户名和密码的方法
- JS实现简单的登录界面(不连接数据库,把用户名密码写死)
- sharedpreferences存储、获取、删除用户名密码
- cnki账号 中国知网 免费 入口 用户名 密码 国内外学术刊物数据库账号
- 怎样使Spring的applicationContext.xml文件不放入数据库用户名和密码
- SQL Server 2005为数据库设置用户名和密码的方法
- Linux下使用hydra获取linux和windows系统用户名和密码的教程