阿喆的博客空间 > 技术分享 > 织梦程序 >

dedecms会员未审核不能登录的实现方法

 作者:阿喆 时间:2017-07-18

 修改/include/memberlogin.class.php(修改红色部分)
    function CheckUser(&$loginuser, $loginpwd)
    {
        global $dsql;
        //检测用户名的合法性
        $rs = CheckUserID($loginuser,'用户名',FALSE);
        //用户名不正确时返回验证错误,原登录名通过引用返回错误提示信息
        if($rs!='ok')
        {
            $loginuser = $rs;
            return '0';
        }
        //matt=10 是管理员关连的前台帐号,为了安全起见,这个帐号只能从后台登录,不能直接从前台登录
        $row = $dsql->GetOne("SELECT mid,matt,pwd,spacesta,logintime FROM `dede_member` WHERE userid LIKE '$loginuser' ");
        if(is_array($row))
        {
            if($this->GetShortPwd($row['pwd']) != $this->GetEncodePwd($loginpwd))
            {
                return -1;
            }
            else
            {

                //增加审核判断
                if($row['spacesta'] == -1)
                {
                    ShowMsg("您的帐户未审核,请等待审核或联系管理员! Email:444511336@qq.com", "-1");
                    exit();
                }

                //管理员帐号不允许从前台登录
                if($row['matt']==10) {
                    return -2;
                }
                else {
                    $this->PutLoginInfo($row['mid'], $row['logintime']);
                    return 1;
                }
            }
        }
        else
        {
            return 0;
        }
    }