在用onethink开发的时候,为了防止修改出错,我会在开发下一个功能的对上一个功能代码整体进行备份,如果出错就返回上一个版本再次修改。

但是会发现一个问题,如果如果返回到上一个版本,重新安装完成之后,进行数据还原,还原之后,发现再次用之前的账号密码登陆就不能登陆。

产生问题原因:

在第一次安装的时候,onethink会生成一个 “加密KEY” 用来加密密码的,加密完成保存到数据库,这个就是登陆账号的密码;

但是在第二次安装过程中,onethink同样会生成一个 “加密KEY” 用来加密密码, 而且两次的 "加密KEY" 是不一样的,这也就导致了:两次安装使用同样的密码,但是保存到数据库里的是不一样的。

如果还原了数据库,那么保存的密码是之前安装数据库保存的密码,和现在安装的版本保存的密码,由于两次安装产生的不同 ”加密KEY“ 导致,即使是密码相同,加密过后都是不一样的,从而再次验证密码的时候,由于 解密规则不一样,从而导致登陆不上去;

具体解决方法在文章结尾说明:

先看下这些方法在哪里:

首先是:验证用户名和密码的方法:

其次是系统MD5加密的方法:

最后是”加密KEY“的位置:

解决方法有三种:

第一种:(还原数据库之前使用):

安装onethink完成后,在还原数据库之前,找到当前安装的数据库,找到onethink_ucenter_member表,找到对应账号和密码,复制保存下来,在还原数据库之后,把这个表对应的账号密码进行更换即可;

第二种:(还原数据库之后使用):

安装onethink之后,还原了数据库,那么数据库保存的账号密码信息是之前的,所以只要找到之前的onethink,找到 ”加密KEY“ ,然后替换新安装的 ”加密KEY“,即可;

第三种:(还原数据库之后使用):

安装onethink之后,还原了数据库,如果之前的安装的onethink找不到 ”加密KEY“ 那么可以自己写一个加密方法,通过已有的 ”加密KEY“ 重新想一个密码,进行加密,加密过后保存到数据库里,就可以了。

/**
* 系统非常规MD5加密方法
* @param string $str 要加密的字符串
* @return string
*/
function think_ucenter_md5($str, $key = 'ThinkUCenter'){
return '' === $str ? '' : md5(sha1($str) . $key);
}

加密:

think_ucenter_md5($password_in, UC_AUTH_KEY)

得到返回值,保存到数据库就行;

还有一种安装方法:直接onethink的文件拷下来:站点程序和数据库拷下来:

安装到本地,修改数据库链接配置。如果还是登录不了后台,还需要修改:Application / User / Conf / Config.php文件的:

define('UC_APP_ID', 1); //应用ID
define('UC_API_TYPE', 'Model'); //可选值 Model / Service
define('UC_AUTH_KEY', '[FU)grX,lJj8E-TA9z:71."H^&V#uS/c`Zk>W%@*'); //加密KEY
//define('UC_DB_DSN', 'mysql://yicjx:yicjx913@127.0.0.1:3306/yicjx'); // 数据库连接,使用Model方式调用API必须配置此项
define('UC_DB_DSN', 'mysql://root:root@127.0.0.1:3306/ycfyzcom'); // 数据库连接,使用Model方式调用API必须配置此项
define('UC_TABLE_PREFIX', 'yicheng_'); // 数据表前缀,使用Model方式调用API必须配置此项

onethink重新安装后,还原数据库后,登陆不了解决办法!的更多相关文章

  1. redhat图形界面启动后出现桌面但是没有登录界面解决办法

    redhat图形界面启动后出现桌面但是没有登录界面解决办法 2014年07月11日 10:50:10 阅读数:7931 redhat Linux一直用着好好地,今天打开只有图像界面背景,没有出现登陆界 ...

  2. 关于hasNextInt判断后无限循环输出else项的解决办法

    话不多说,上来就是干! import java.util.Scanner; public class Test_hasNextInt { /** * @param args */ public sta ...

  3. WCF服务运行一段时间后客户端无法连接WCF服务的解决办法 (转)

    WCF服务运行一段时间后客户端无法连接WCF服务的解决办法 (转) Windows Communication Foundation (WCF)是Microsoft为构建面向服务的应用提供的分布式通信 ...

  4. windows7开机后,罗技k380无法自动连接解决办法

    问题描述: windows7开机后,罗技k380无法自动连接,必须删除设备后重新发现才能正常连接. 解决办法: 是因为笔记本电脑的蓝牙设置问题.按如下设置即可解决. [Bluetooth设置]-[允许 ...

  5. php 通过 create user 和grant 命令无法创建数据库用户和授权的解决办法

    php 通过 create user 和grant 命令无法创建数据库用户和授权的解决办法 解决办法, 通过 insert 命令的方式进行创建. 创建数据库用户: $sql= "insert ...

  6. Data Base sqlServer sa用户登陆失败的解决办法

    sqlserver sa用户登陆失败的解决办法 如下图以此模仿: 1.右键-属性 2.找到安全: 3.勾选如图: 4.sa用户密码重置: 5.服务重启:

  7. sqlServer sa用户登陆失败的解决办法

    sqlserver sa用户登陆失败的解决办法 如下图以此模仿: 1.右键-属性 2.找到安全: 3.勾选如图: 4.sa用户密码重置: 5.服务重启:

  8. QQ文件没有读取权限,60017导致QQ无法登陆的终极解决办法

    每隔一段时间,我的QQ就无法登陆,提示:QQ文件没有读取权限,60017导致QQ无法登陆的终极解决办法 点击了解详情发现里面的解决办法根本不起作用,网上 说的各种解决办法都不起作用,解决办法如下 1. ...

  9. sql server 还原数据库后,删除用户,提示数据库主体在该数据库中拥有架构,无法删除解决方法

    将另一台服务器上的数据库备份文件,在现在用的这台服务器上还原之后,再创建相同的用户名,提示用户已存在 想将之前的用户先删除掉,却提示“数据库主体在该数据库中拥有架构,无法删除解决方法” 在网上找到方法 ...

随机推荐

  1. python中的map()函数

    MapReduce的设计灵感来自于函数式编程,这里不打算提MapReduce,就拿python中的map()函数来学习一下. 文档中的介绍在这里: map(function, iterable, .. ...

  2. IOC关注服务(或应用程序部件)是如何定义的以及他们应该如何定位他们依赖的其它服务

    IOC关注服务(或应用程序部件)是如何定义的以及他们应该如何定位他们依赖的其它服务.通常,通过一个容器或定位框架来获得定义和定位的分离,容器或定位框架负责: 保存可用服务的集合 提供一种方式将各种部件 ...

  3. 关掉firefox(火狐)和palemoon地址栏自动加www.前缀功能【转】

    常用palemoon调试网站域名,它会很“贴心”的给你输入的网址前加上www.前缀,可有些域名前并没有www前缀,这样就导致了无法打开网站,今天学习下关闭它的这个功能. 打开firefox,在地址栏输 ...

  4. gsoap简介

    gSoap是什么? 请进 官方网站 http://genivia.com/index.html 这里更直接 http://www.cs.fsu.edu/~engelen/soap.html 英语水平很 ...

  5. (转)分析kernel的initcall函数

      分析kernel的initcall函数   来源: ChinaUnix博客 日期: 2008.07.19 21:24 (共有条评论) 我要评论   分析kernel的initcall函数Autho ...

  6. 【python】\\u的字符编码问题

    Str = "\\u559c\\u6b22\\u4e00\\u4e2a\\u4eba";Str = Str.decode("unicode-escape")

  7. jQuery实现HTML表格单元格的合并功能

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. centos7,yum安装工具报错

    1.问题描述:yum安装gcc和其他的工具时一直报错: 2.问题解决: 网上看到有类似文章: No more mirrors to try. 得知这可能是错误的缓存源导致,直接两个命令解决: yum ...

  9. LLE局部线性嵌入算法

    非线性降维 流形学习 算法思想有些类似于NLM,但是是进行的降维操作. [转载自] 局部线性嵌入(LLE)原理总结 - yukgwy60648的博客 - CSDN博客 https://blog.csd ...

  10. Chrome浏览器无法观看视频,一直提示“adobe flash player 已过期” ?

       很多新用户在安装了Chrome浏览器或者更新过的的时候,经常提示“ adobe flash player 已过期”的问题,反复提示,导致无法观看视频.于是从网上也找了很多办法都没有解决.这里给大 ...