destoon,ucenter整合 用户登录的处理,修改密码后的处理

2024-02-14 19:32

本文主要是介绍destoon,ucenter整合 用户登录的处理,修改密码后的处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ucenter是用户中心,按照ucenter的模式,ucenter接管了应用程序的注册与登录的问题,应用程序的密码也就没有多大用处了,但是destoon的用户在登录时,destoon还是要验证与本地的密码一致不一致
module/member/login.inc.php
中的登录是这样写的
if($MOD['passport'] == 'uc') include DT_ROOT.'/api/'.$MOD['passport'].'.inc.php';
$user = $do->login($username, $password, $cookietime);
这一段的意思是如果定义了uc来验证,那么就加载/api/uc.inc.php中的代码来进行登录验证
但下边一行$do->login  (Ps: $do=new member),又使用了destoon本身的登录验证,
根据上文提到的,destoon并不接受ucenter中关于修改密码的通知,那么destoon是怎么做到密码同步的呢?
在uc.inc.php中有这样一段
 
 /* Ucenter 验证成功 */$api_msg = uc_user_synlogin($uid);if ($user){$vpassword = is_md5($password) ? md5($password) : md5(md5($password)); /* 同步DT密码 */if ($user['password'] != $vpassword) $db->query("UPDATE {$DT_PRE}member SET password='$vpassword' WHERE username='$username'");} else{ /* 会员不存在 */$auth = rawurlencode(encrypt($username . '|' . $rt_password . '|' . $rt_email));message('请激活您的通行证账号', $MOD['linkurl'] . $DT['file_register'] . '?auth=' . $auth);}



这一段的目的就是如果使用ucenter的api登录成功那了,那么就把本地的密码修改成ucenter中的密码,这样即使以后不使用ucenter,原用户的密码可以保留


if($MOD['passport'] == 'uc') include DT_ROOT.'/api/'.$MOD['passport'].'.inc.php';

$user = $do->login($username, $password, $cookietime);


	if(!function_exists('uc_user_login')) {loaducenter();}if($isuid == 3) {if(!strcmp(dintval($username), $username) && getglobal('setting/uidlogin')) {$return['ucresult'] = uc_user_login($username, $password, 1, 1, $questionid, $answer, $ip);} elseif(isemail($username)) {$return['ucresult'] = uc_user_login($username, $password, 2, 1, $questionid, $answer, $ip);}if($return['ucresult'][0] <= 0 && $return['ucresult'][0] != -3) {$return['ucresult'] = uc_user_login(addslashes($username), $password, 0, 1, $questionid, $answer, $ip);}} else {$return['ucresult'] = uc_user_login(addslashes($username), $password, $isuid, 1, $questionid, $answer, $ip);}$tmp = array();$duplicate = '';list($tmp['uid'], $tmp['username'], $tmp['password'], $tmp['email'], $duplicate) = $return['ucresult'];$return['ucresult'] = $tmp;if($duplicate && $return['ucresult']['uid'] > 0 || $return['ucresult']['uid'] <= 0) {$return['status'] = 0;return $return;}


这篇关于destoon,ucenter整合 用户登录的处理,修改密码后的处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/709398

相关文章

Spring Boot @RestControllerAdvice全局异常处理最佳实践

《SpringBoot@RestControllerAdvice全局异常处理最佳实践》本文详解SpringBoot中通过@RestControllerAdvice实现全局异常处理,强调代码复用、统... 目录前言一、为什么要使用全局异常处理?二、核心注解解析1. @RestControllerAdvice2

SpringBoot整合liteflow的详细过程

《SpringBoot整合liteflow的详细过程》:本文主要介绍SpringBoot整合liteflow的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...  liteflow 是什么? 能做什么?总之一句话:能帮你规范写代码逻辑 ,编排并解耦业务逻辑,代码

Spring Security中用户名和密码的验证完整流程

《SpringSecurity中用户名和密码的验证完整流程》本文给大家介绍SpringSecurity中用户名和密码的验证完整流程,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 首先创建了一个UsernamePasswordAuthenticationTChina编程oken对象,这是S

springboot整合TDengine全过程

《springboot整合TDengine全过程》:本文主要介绍springboot整合TDengine全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录环境准备JDBC-JNI方式准备依赖实体类Mapper配置类测试类RESTful方式实体类配置类测试类总结

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

SpringSecurity显示用户账号已被锁定的原因及解决方案

《SpringSecurity显示用户账号已被锁定的原因及解决方案》SpringSecurity中用户账号被锁定问题源于UserDetails接口方法返回值错误,解决方案是修正isAccountNon... 目录SpringSecurity显示用户账号已被锁定的解决方案1.问题出现前的工作2.问题出现原因各

PostgreSQL数据库密码被遗忘时的操作步骤

《PostgreSQL数据库密码被遗忘时的操作步骤》密码遗忘是常见的用户问题,因此提供一种安全的遗忘密码找回机制是十分必要的,:本文主要介绍PostgreSQL数据库密码被遗忘时的操作步骤的相关资... 目录前言一、背景知识二、Windows环境下的解决步骤1. 找到PostgreSQL安装目录2. 修改p

MySQL 用户创建与授权最佳实践

《MySQL用户创建与授权最佳实践》在MySQL中,用户管理和权限控制是数据库安全的重要组成部分,下面详细介绍如何在MySQL中创建用户并授予适当的权限,感兴趣的朋友跟随小编一起看看吧... 目录mysql 用户创建与授权详解一、MySQL用户管理基础1. 用户账户组成2. 查看现有用户二、创建用户1. 基

springboot项目中整合高德地图的实践

《springboot项目中整合高德地图的实践》:本文主要介绍springboot项目中整合高德地图的实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一:高德开放平台的使用二:创建数据库(我是用的是mysql)三:Springboot所需的依赖(根据你的需求再

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4