• 为生活外出奔波,留守老人与儿童,两地居住是租还是建? 2019-10-16
  • [雷人]蠢货!土地处于不同的城市和地段,关联的资源不一样,价值也不一样。不然给咱俩同样面积的土地,咱的在北上广深,你的在边远山区,你干么? 2019-10-11
  • 紫光阁中共中央国家机关工作委员会 2019-10-09
  • 【惊坛投稿】帮你上头条!来给“一语惊坛”投稿,下一个头条就是你! 2019-09-27
  • 香港支付方式日渐丰富(看香港) 2019-09-27
  • 贵州桐梓:困难群众打工差点错过“移民搬迁”之后 2019-09-16
  • 山西日报系列评论:三晋之声 2019-09-10
  • 南通海门开展10个方面19项安全生产专项整治 2019-09-10
  • 人民网舆情分析专家:王洪波 2019-09-01
  • 2016最具影响力自行车赛事排行榜TOP100 2019-09-01
  • 大兴法院设执行裁判庭 执结率提高50% 2019-08-28
  • 法制日报:巨额奖金被冒领戳中行业痛点 2019-08-22
  • 农村的巨变是农业的巨变吗?变化概念, 2019-08-17
  • 地价10年暴涨4倍背后 供地减半开发商拿地疯狂 ——凤凰网房产成都 2019-08-16
  • 上合正在掀开崭新一页 2019-08-16
  • 织梦dedecms使用Mysql8.0无法登录后台的解决办法

    2019-05-04 织梦安装使用
    • 文章介绍
    今天一个客户联系我们的技术,反馈说安装之后,但是登录后台,一直提示用户名不存在。通常这个原因有两个(1、数据库链接信息不对  2、数据库表中的用户名不是默认的admin,被修改过)经过多发查证,这两个原因都被排除了,最后发现原来这位客户用的是mysql8.0的数据库。

    因mysql 8.0新制定的语句表名限制条件被dede自带的后台用户登录检查语句指定表别名所违背而引起的bug。如何解决呢?
     
    找到dedecms的文件目录, 在include子目录下找到userlogin.class.php, 249行左右看到如下语句:
     
            //只允许用户名和密码用0-9,a-z,A-Z,'@','_','.','-'这些字符
            $this->userName = preg_replace("/[^[email protected]!\.-]/", '', $username);
            $this->userPwd = preg_replace("/[^[email protected]!\.-]/", '', $userpwd);
            $pwd = substr(md5($this->userPwd), 5, 20);
    
            $dsql->SetQuery("SELECT admin.*,atype.purviews FROM `dede_admin` admin LEFT JOIN `dede_admintype` atype ON atype.rank=admin.usertype WHERE admin.userid LIKE '".$this->userName."' LIMIT 0,1");
            $dsql->Execute();
            $row = $dsql->GetObject();
     
    其中SetQuery就是设定将要执行的sql语句, 下一行Execute()来执行这个设定好语句,我们从语句里面改。改成如下:
     
            //只允许用户名和密码用0-9,a-z,A-Z,'@','_','.','-'这些字符
            $this->userName = preg_replace("/[^[email protected]!\.-]/", '', $username);
            $this->userPwd = preg_replace("/[^[email protected]!\.-]/", '', $userpwd);
            $pwd = substr(md5($this->userPwd), 5, 20);
    
            $dsql->SetQuery("SELECT admi.*,atype.purviews FROM `dede_admin` admi LEFT JOIN `dede_admintype` atype ON atype.rank=admi.usertype WHERE admi.userid LIKE '".$this->userName."' LIMIT 0,1");
            $dsql->Execute();
            $row = $dsql->GetObject();
     
    这样一来,表的别名从admin删去一个n被改成admi, 就可以正常登录后台了。

    上一篇:织梦上传本地视频后 文件管理器中不显示解决办法

    下一篇:织梦cms手机站首页不更新的解决办法

    专业的织梦模板定制下载站,在线购买后即可下载!

    商业源码

    跟版网模板,累计帮助5000+客户企业成功建站,为草根创业提供助力!

    立刻开启你的建站之旅
    QQ在线客服

    服务热线

    织梦建站咨询
  • 为生活外出奔波,留守老人与儿童,两地居住是租还是建? 2019-10-16
  • [雷人]蠢货!土地处于不同的城市和地段,关联的资源不一样,价值也不一样。不然给咱俩同样面积的土地,咱的在北上广深,你的在边远山区,你干么? 2019-10-11
  • 紫光阁中共中央国家机关工作委员会 2019-10-09
  • 【惊坛投稿】帮你上头条!来给“一语惊坛”投稿,下一个头条就是你! 2019-09-27
  • 香港支付方式日渐丰富(看香港) 2019-09-27
  • 贵州桐梓:困难群众打工差点错过“移民搬迁”之后 2019-09-16
  • 山西日报系列评论:三晋之声 2019-09-10
  • 南通海门开展10个方面19项安全生产专项整治 2019-09-10
  • 人民网舆情分析专家:王洪波 2019-09-01
  • 2016最具影响力自行车赛事排行榜TOP100 2019-09-01
  • 大兴法院设执行裁判庭 执结率提高50% 2019-08-28
  • 法制日报:巨额奖金被冒领戳中行业痛点 2019-08-22
  • 农村的巨变是农业的巨变吗?变化概念, 2019-08-17
  • 地价10年暴涨4倍背后 供地减半开发商拿地疯狂 ——凤凰网房产成都 2019-08-16
  • 上合正在掀开崭新一页 2019-08-16
  • 网赌为什么每天反水 双色球开奖号码 1414场胜负彩预测 8波足球即时比分8bo WTA比分直播 网上赚钱是真的吗 九赢娱乐是合法的吗 快乐12选三的技巧 辽宁11选5预测分析大师 快乐十分40期开奖结果 山东11选5守号技巧 上海时时彩开奖时间 pcba 黑马计划怎么样 如何猜大小单双