onethink重新安装后,还原数据库后,登陆不了解决办法!
在用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重新安装后,还原数据库后,登陆不了解决办法!的更多相关文章
- redhat图形界面启动后出现桌面但是没有登录界面解决办法
redhat图形界面启动后出现桌面但是没有登录界面解决办法 2014年07月11日 10:50:10 阅读数:7931 redhat Linux一直用着好好地,今天打开只有图像界面背景,没有出现登陆界 ...
- 关于hasNextInt判断后无限循环输出else项的解决办法
话不多说,上来就是干! import java.util.Scanner; public class Test_hasNextInt { /** * @param args */ public sta ...
- WCF服务运行一段时间后客户端无法连接WCF服务的解决办法 (转)
WCF服务运行一段时间后客户端无法连接WCF服务的解决办法 (转) Windows Communication Foundation (WCF)是Microsoft为构建面向服务的应用提供的分布式通信 ...
- windows7开机后,罗技k380无法自动连接解决办法
问题描述: windows7开机后,罗技k380无法自动连接,必须删除设备后重新发现才能正常连接. 解决办法: 是因为笔记本电脑的蓝牙设置问题.按如下设置即可解决. [Bluetooth设置]-[允许 ...
- php 通过 create user 和grant 命令无法创建数据库用户和授权的解决办法
php 通过 create user 和grant 命令无法创建数据库用户和授权的解决办法 解决办法, 通过 insert 命令的方式进行创建. 创建数据库用户: $sql= "insert ...
- Data Base sqlServer sa用户登陆失败的解决办法
sqlserver sa用户登陆失败的解决办法 如下图以此模仿: 1.右键-属性 2.找到安全: 3.勾选如图: 4.sa用户密码重置: 5.服务重启:
- sqlServer sa用户登陆失败的解决办法
sqlserver sa用户登陆失败的解决办法 如下图以此模仿: 1.右键-属性 2.找到安全: 3.勾选如图: 4.sa用户密码重置: 5.服务重启:
- QQ文件没有读取权限,60017导致QQ无法登陆的终极解决办法
每隔一段时间,我的QQ就无法登陆,提示:QQ文件没有读取权限,60017导致QQ无法登陆的终极解决办法 点击了解详情发现里面的解决办法根本不起作用,网上 说的各种解决办法都不起作用,解决办法如下 1. ...
- sql server 还原数据库后,删除用户,提示数据库主体在该数据库中拥有架构,无法删除解决方法
将另一台服务器上的数据库备份文件,在现在用的这台服务器上还原之后,再创建相同的用户名,提示用户已存在 想将之前的用户先删除掉,却提示“数据库主体在该数据库中拥有架构,无法删除解决方法” 在网上找到方法 ...
随机推荐
- 统一建模语言 UML (2)
UML的图 1.用例图(use case diagram) 用例图(Use Case Diagram)是被称为参与者(Actor)的外部用户所能观察到的系统功能的模型图 列出系统中的用例和参与者 显示 ...
- thinkphp 自动跟新时间
看了很多文章和资料了,明白何为真传一句话了... 模板里: <input type="text" name="time" value="{:da ...
- nginx报错:No package erlang available
问题 yum install erlang 报错:No package erlang available 同样的,如果我们在安装nginx的时候出现"No package nginx ava ...
- i2c驱动笔记
基于bcm5300x芯片 注册平台总线设备,设备名bcm5300x_i2c,通过名称与驱动进行匹配. 注册平台总线驱动.驱动名称"bcm5300x_i2c",与设备进行匹配. dr ...
- 第三百零六节,Django框架,models.py模块,数据库操作——创建表、数据类型、索引、admin后台,补充Django目录说明以及全局配置文件配置
Django框架,models.py模块,数据库操作——创建表.数据类型.索引.admin后台,补充Django目录说明以及全局配置文件配置 数据库配置 django默认支持sqlite,mysql, ...
- MVC演化 (转至http://www.cnblogs.com/wubaiqing/archive/2011/10/26/2225438.html)
MVC已经成为我们最常误用的模式,人们之所以常常误用MVC,很大程度上是因为混淆了不同的MVC变体. Classic MVC Classic MVC 大概上世纪七十年代,Xerox PARC的Tryg ...
- php十行代码将xml转成数组
<?php header("Content-Type:text/html;charset=utf-8"); function xml2array($filename){ $x ...
- 不错的源码演示:admin5源码
admin5源码官网:http://down.admin5.com/ 集资讯,源码,字体,itchat于一体的网站,可以下载喔! 实际项目中可以用得到.
- hbase学习 rowKey的设计-4
访问hbase table中的行,只有三种方式: 1 通过单个row key访问 2 通过row key的range 3 全表扫描 Hadoop Sequence File 文中可能涉及到的API: ...
- Page与Loaded
When navigate to page, loaded event will be triggered. Back to page, loaded event will be triggered ...