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

展开阅读全文
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值