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

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的登录机制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值