在用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. js学习笔记11----表单操作

    1.复选框选中 var aInput = document.getElementsByTagname('input'); aInput[0].checked=true;

  2. [mysql] MySQL Order By Rand()效率【转载】

    最近由于需要大概研究了一下MYSQL的随机抽取实现方法.举个例子,要从tablename表中随机提取一条记录,大家一般的写法就是:SELECT * FROM tablename ORDER BY RA ...

  3. C#基础概念二十五问

    1.静态成员和非静态成员的区别? 答: 静态变量使用 static 修饰符进行声明,在类被实例化时创建,通过类进行访问 不带有 static 修饰符声明的变量称做非静态变量,在对象被实例化时创建,通过 ...

  4. 编译 boost 库(win7+boost1.60+vs2008)

    参见:http://blog.csdn.net/u013074465/article/details/42532527 下载boost安装包 https://sourceforge.net/proje ...

  5. PHP 正则表达式 及常用汇总

    Δ  定界符 Δ  字符域 Δ  修饰符 Δ  限定符 Δ  脱字符 Δ  通配符(正向预查,反向预查) Δ  反向引用 Δ  惰性匹配 Δ  注释 Δ  零字符宽     1.    平时做网站经常 ...

  6. linux ffmpeg编译配置安装详解

    http://www.111cn.net/sys/linux/53039.htm ffmpeg是一开源的可跨平台使用的一个图形处理插件,这可以进行录制.转换以及流化音视频,同时可以对视频进行截图,下面 ...

  7. Shader开发之三大着色器

    固定功能管线着色器Fixed Function Shaders 固定功能管线着色器的关键代码一般都在Pass的材质设置Material{}和纹理设置SetTexture{}部分. Shader &qu ...

  8. Java基础--生成验证码

    HTML <%@ page language="java" contentType="text/html; charset=UTF-8" pageEnco ...

  9. LR中点鼠标做关联(winsock协议)

    转自:http://blog.csdn.net/zeeslo/article/details/1661791 今天写一下winsock的关联操作. 以前看过一个文档.在英文版的讲winsock的,其中 ...

  10. android SDK manager 快速更新【转】