ucenter与应用集成中如何处理用户注册与修改密码

简介: ucenter作为用户中心与自己的应用集成的过程中,最愁人的就是用户修改密码与注册了 最近在做这方面的工作,总结一下, ucenter与destoon的集成,这个具体的教程在destonn的官方网站中有介绍,我就不说了, ucenter与ecmall的集成,这个也很方面,放一个integrate目录就可以了, ucenter与smarket的集成,这个是没有在别人的基础上进行的开发
ucenter作为用户中心与自己的应用集成的过程中,最愁人的就是用户修改密码与注册了
最近在做这方面的工作,总结一下,


ucenter与destoon的集成,这个具体的教程在destonn的官方网站中有介绍,我就不说了,
ucenter与ecmall的集成,这个也很方面,放一个integrate目录就可以了,
ucenter与smarket的集成,这个是没有在别人的基础上进行的开发


第一种注册:
destoon:做好配置好,destoon注册了就可以直接进入的ucenter的用户中心了,
ecmall可以做到这一点,ecamll结果就直接做了两个类,他们都继承自BasePassportUser这个类,然后根据你自己的配置
去选择实例哪个类,使用哪个接口
smarket这个,就好说了,完全使用ucenter中的数据就可以了




第二在ucenter中修改密码
在ucenter中修改密码之后,需要通知到用户修改密码了,要及时更新密码,
这一点,比较困惑我,因为我看到ucenter的通知都是单身通知,并且后边都没有加密码是什么内容,
UC后台更改密码后的通知程序:uc_server\control\admin\user.php  
$_ENV['note']->add('updatepw', 'username='.urlencode($username).'&password=');


然后这个过程由客户端去实现,在destoon中我发现客户端是这样实现的,只写了一句退出exit('1');
根本没有去实现这个过程,

而在discuz中,这个地方,也是生成一个随机的密码,就过去了,为什么不把密码传递过来呢对吧,

具体为会不把这个值传递过来的原因在这里

http://blog.csdn.net/sunbingzibo/article/details/43733267



这时如果我们以destoon为主要使用对象的话,比如客户在destoon的商务中心修改了密码,这时在ucenter中的密码并没有修改,那么登录时使用哪个密码呢

 我没有找到相关的解决办法,去discuz中看了一下,发现discuz中只修改一次密码就可以了

原来ucenter中修改密码的那个地方,他调用了
$ucresult = uc_user_edit(addslashes($_G['username']), $_GET['oldpassword'], $_GET['newpassword'], '', $ignorepassword, $_GET['questionidnew'], $_GET['answernew']);

这个函数,直接把密码就修改到ucenter中至于本地的密码改不改都无所谓了,反正又不用它来登录


所以按照上边的方法,我们来对destoon进行改造,在我使用的5.0的版本中

在/module/member/edit.inc.php中找到

 

if($do->edit($post))
{

	if ($post['password'])
	{
		include DT_ROOT.'/api/ucenter/client.php';
		$ucresult = uc_user_edit($post['passport'] , $post['oldpassword'], $post['newpassword'], $post['email'] );
		define("UC_DBHOST", $MOD['uc_dbhost']) ;
		 .......

		    if ($ucresult == -1)
		    {
			$mess= "profile_passwd_wrong";
			message($mess);
			// showmessage('profile_passwd_wrong', '', array(), array('return' => true));

		    } elseif ($ucresult == -4)
	.........//从别的地方复制的代码.
	}
}

这样进行改造一下,就可以了

相关文章
|
29天前
|
前端开发 数据可视化 JavaScript
基于React的简易数据可视化图表库集成与应用
基于React的简易数据可视化图表库集成与应用
19 1
|
1月前
|
项目管理 微服务
云效常见问题之将多个微服务应用集成到一次研发流程中发布上线如何解决
云效(CloudEfficiency)是阿里云提供的一套软件研发效能平台,旨在通过工程效能、项目管理、质量保障等工具与服务,帮助企业提高软件研发的效率和质量。本合集是云效使用中可能遇到的一些常见问题及其答案的汇总。
28 0
|
7天前
|
测试技术 持续交付 开发工具
《Git 简易速速上手小册》第6章:Git 在持续集成/持续部署(CI/CD)中的应用(2024 最新版)
《Git 简易速速上手小册》第6章:Git 在持续集成/持续部署(CI/CD)中的应用(2024 最新版)
29 2
|
2月前
|
Java API 开发工具
支付与银行业线上客户协议应用中的DocuSign集成方式选择——SDK和API
跨境支付公司和Docusign进行集成时,碰到问题时的解决方案。分别用SDK和API集成后的各自使用体验。
46 2
支付与银行业线上客户协议应用中的DocuSign集成方式选择——SDK和API
|
6月前
|
存储 JSON 算法
Jwt简介+工具类应用+Jwt集成spa项目
Jwt简介+工具类应用+Jwt集成spa项目
235 0
|
12天前
|
安全 中间件 数据处理
中间件在应用集成
中间件是应用集成的关键,它连接不同系统、平台和应用,解决兼容性问题,实现数据交换和功能互操作。主要应用包括数据集成、服务集成、消息传递、安全与权限管理。选择中间件需考虑兼容性、性能、可扩展性和安全性。中间件简化通信,提高系统性能和可靠性,助力企业实现应用高效协同和商业价值。
14 2
|
14天前
|
JSON Kubernetes Go
无缝集成:在IntelliJ IDEA中利用Kubernetes插件轻松管理容器化应用
无缝集成:在IntelliJ IDEA中利用Kubernetes插件轻松管理容器化应用
25 0
无缝集成:在IntelliJ IDEA中利用Kubernetes插件轻松管理容器化应用
|
2月前
|
弹性计算 前端开发 Java
通义千问API:让大模型写代码和跑代码
基于前面三章的铺垫,本章我们将展示大模型Agent的强大能力。我们不仅要实现让大模型同时使用多种查询工具,还要实现让大模型能查询天气情况,最后让大模型自己写代码来查询天气情况。
59704 448
通义千问API:让大模型写代码和跑代码
|
2月前
|
监控 Java 持续交付
内部网络监控软件的Groovy应用:持续集成与部署的自动化监控
在当今高度数字化的环境中,对于内部网络的监控变得至关重要。为了保证系统的稳定性和安全性,监控软件的自动化变得越来越必要。本文将介绍如何利用Groovy编程语言实现持续集成与部署的自动化内部网络监控软件,并通过代码示例展示其实现方式。
261 3
|
3月前
|
机器学习/深度学习 PyTorch TensorFlow
iOS设备功能和框架: 什么是 Core ML?如何在应用中集成机器学习模型?
iOS设备功能和框架: 什么是 Core ML?如何在应用中集成机器学习模型?
27 0