普通php登录到YII登录

普通php登录到YII登录,php,database,yii,Php,Database,Yii,我有一个正常的php登录,它连接到一个数据库来验证用户,现在我需要将其转换为一个使用yii框架的登录,有人能告诉我这样做的原因吗。。我应该做的第一件事是什么?我可以将其转换为yii登录吗。下面是我必须调用的当前登录函数 function login($usr,$pwd) { $query = "SELECT * FROM login WHERE us.username='$usr' AND us.password='$pwd'; "; $dataReader=$command-&

我有一个正常的php登录,它连接到一个数据库来验证用户,现在我需要将其转换为一个使用yii框架的登录,有人能告诉我这样做的原因吗。。我应该做的第一件事是什么?我可以将其转换为yii登录吗。下面是我必须调用的当前登录函数

function login($usr,$pwd) {
    $query = "SELECT * FROM login WHERE us.username='$usr' AND us.password='$pwd'; ";
    $dataReader=$command->query();
    $row = mysql_fetch_array($dataReader);
    $log = new stdClass();
    if($row) {
        $pro->accountID = (int)$row['accountID'];
        $pro->accountname = $row['accountname'];
        $pro->usertype = (int)$row['usertype'];
                $string = rand() . 'SURVAYLAND' . rand() . $usr. $pwd;
            $_SESSION['SURVEY_AUTHENTICATE_KEY'] = md5($string);
    } else {
        $pro = false;
    }
}

无论何时调用
Yii::app()->user
,都会得到
CWebUser
的一个实例。这是Yii表示当前正在查看应用程序的用户的方式

此用户无需登录即可登录或访问应用程序(换句话说,成为来宾)

有一个名为
login
的方法,正如您所期望的那样,它可以登录用户

方法
login()
将实现IUserIdentity接口的对象作为参数

创建自己的类最简单的方法是创建一个简单的类(例如,将其称为MyIdentity):

然后使用刚才创建的内容实际登录用户:

// Login a user with the provided username and password.
$identity=new MyIdentity($username,$password);
if($identity->authenticate())
    Yii::app()->user->login($identity);
else
    echo $identity->errorMessage;
// Login a user with the provided username and password.
$identity=new MyIdentity($username,$password);
if($identity->authenticate())
    Yii::app()->user->login($identity);
else
    echo $identity->errorMessage;