1、在ucenter中建立相关应用,并保存,如下图:
照上面步骤配置好后,您的应用程序应该可以和ucenter通信成功了,如下图:
7、接下来我们就需要实现,在系统登陆的时候,首次需要同步注册uc,然后再discuz论坛激活账户,然后登陆的时候,自动登陆到论坛即可,因为为内部使用,同步退出,就没有他别要求,暂时先不写出来了,接下来的代码只处理登陆时候的 ,注册、同步登陆,信息修改:
/* * 同步登陆开始 */ //通过接口判断登录帐号的正确性,返回值为数组 list($uid, $username, $password, $email) = uc_user_login($f_username, $f_password); setcookie('Example_auth', '', -86400); if($uid > 0) { //用户登陆成功,设置 Cookie,加密直接用 uc_authcode 函数,用户使用自己的函数 setcookie('Example_auth', uc_authcode($uid."\t".$username, 'ENCODE')); //生成同步登录的代码 $ucsynlogin = uc_user_synlogin($uid); echo '登录成功,请稍等,如果您的浏览器不能自动跳转,请点击!'.$ucsynlogin.'<br><br><br><a href="'.$_SERVER['PHP_SELF'].'">点击继续</a>'; echo "<script>self.location='".$_SERVER['PHP_SELF']."';</script>"; exit; } elseif($uid == -1) { $user_email = $f_username."@skyworth.com"; $uuid = uc_user_register($f_username, $f_password, $user_email); if($uuid <= 0) { if($uuid == -1) { echo '用户名不合法'; } elseif($uuid == -2) { echo '包含要允许注册的词语'; } elseif($uuid == -3) { echo '用户名已经存在'; } elseif($uuid == -4) { echo 'Email 格式有误'; } elseif($uuid == -5) { echo 'Email 不允许注册'; } elseif($uuid == -6) { echo '该 Email 已经被注册'; } else { echo '未定义'; } } else { echo '<p>我们已经为您自动的创建了新品质量中心论坛系统账户,您可以前往查询相关部门资料!</p>'; echo '<p>现在您可以点击下面的连接前往质量信息系统了!!!</p>'; echo '<p><font size="5" color="red">请立即激活您的账户,激活方法:</font></p>'; echo "<p><a href='http://qims.skyworth.com/forum/data/attachment/forum/201401/qims-bbs-video.mp4'>视频教程</a></p>"; echo "<p>1、进入:<a href='http://qims.skyworth.com/forum' target='_blank'>http://qims.skyworth.com/forum</a>;</p>"; echo "<p>2、在顶部输入以下信息,点击登陆,然后点击激活,即可;</p>"; echo "<p>3、账户:".$f_username."</p>"; echo "<p>4、密码: 您的质量信息系统密码</p>"; echo "<p>5、权限控制请联系系统管理员进行更新</p>"; echo "<p>6、未激活的账户不能自动登陆论坛</p>"; echo "<p>6、激活后,请全部退出后,重新登陆,使全部功能生效!</p>"; echo '<br><a href="'.$_SERVER['PHP_SELF'].'">继续前往质量信息系统</a>'; } //处理注册结束 exit;//该处不能删除,必须这样跳转才能成功登陆 } elseif($uid == -2) { echo '<br />'; $ucresult = uc_user_edit($f_username, $_POST['oldpassword'], $f_password, $_POST['emailnew']); echo "我们对您的帐号进行了优化,请重新登陆,使全部功能生效!"; echo '<br><a href="'.$_SERVER['PHP_SELF'].'">继续前往质量信息系统</a>'; if($ucresult == -1) { echo '旧密码不正确'; } elseif($ucresult == -4) { echo 'Email 格式有误'; } elseif($ucresult == -5) { echo 'Email 不允许注册'; } elseif($ucresult == -6) { echo '该 Email 已经被注册'; } } else { echo '未定义'; } exit;//该处不能删除,必须这样跳转才能成功登陆 /* * 同步登陆结束 */
这样就实现了单向的同步登陆,如果需要更全面的,我将在以后有需求开发的时候,同步出教程。