yii的登录实现,自定义登录同步yii登录机制

来源:互联网 发布:网络名誉侵权律师函 编辑:程序博客网 时间:2024/06/04 18:47

yii的登录机制,对新手来说,可能略显复杂,在这里,用系统自带的登录机制,结合我们自定义的登录,简单的实现一下基本的登录:

还是以AdminController为例:

1. class AdminController extends CController {

    function actionLogin() {
        if (count($_POST) > 0) {//登录页面提交过来的数据
            $adminlogin = new UserIdentity($username, $password);//实例化UserIdentity
            if ($adminlogin->userAuthenticate()) {//自己写的登录判断,如果通过则在yii自带的登录机制中登录
                Yii::app()->user->login($adminlogin);//yii自带登录后会跳转到之前页面,具体看系统自带的afterLogin()方法
            }
        }
        $this->render('login');
    }

}

2.在model下面创建一个UseIdentity继承一下CUserIdentity,里面的userAuthenticate就是我们自定义的登录,比如从数据库读取数据进行验证,成功返回true,失败返回false,返回给上面的AdminController里的login方法,这里为了省事没从数据库取密码验证什么的,直接返回true

class UserIdentity extends CUserIdentity {

    public function userAuthenticate(){
    $this->_id = 1;//用户的id,一般是用户在数据库中的id,必需设置
    $this->setState('nickname',$this->username);//可选保存
        return true;
    }
    public function getId(){
        return $this->_id;
    }

}

上面两步就直接实现了简单的登录,自定义并同步了yii的登录机制

0 0
原创粉丝点击