PHPwind整合最土系統使用者同步登入實現方法

來源:互聯網
上載者:User
上次成功升級了最土商業版,接下來就是整合公司的社區網站,先說明一下我現在工作的地方是個地方社區網站,用的基礎程式是PHPWind,我的工作就是讓PHPWind和最土登入同步,領導也知道我的技術能力有限,不怎麼高要求,所以讓我先實現,再考慮其他。趕鴨子上架,開工了。
在我未成熟的程式思考能力下,我首先否定了重寫程式這個方法,再次否定了將PHPWind的驗證方法引入到最土的方法,最後想出一個折中的辦法,將兩張表的唯一ID相同:將PHPWind使用者表設為主表,最土使用者表為外接表,讓最土使用者ID和PHPWind使用者表UID一一對應,通過使用者ID來完成接下來的同步工作。
多話不說,上步驟。
第一步:使用者同步
建立PHPWind使用者,最土同步相應使用者,最土ID對應PHPWind使用者ID。
register.php
複製代碼 代碼如下:
$db->update("insert into tg_user (id,email,username,password,city_id,create_time,enable,realname) values ('".$winduid."','".addslashes($regemail)."','".addslashes($regname)."','".$windpwd."','1','".time()."','Y','".addslashes($regname)."')");

第二步:修改最土登入模式使用Cookie方式
去掉密碼,將驗證使用者名稱改成使用者ID。
ZUser.class.php
複製代碼 代碼如下:
$field = strpos($email, '@') ? 'email' : 'id';//username
$zuituuser = DB::GetTableRow('tg_user', array(
$field => $email,
//'password' => $password,

index.php
複製代碼 代碼如下:
$login_user = ZUser::GetLogin($_COOKIE['CookieID'], $_POST['password']);
Session::Set('user_id', $login_user['id']);
ZLogin::Remember($login_user);
ZUser::SynLogin($_POST['email'], $_POST['password']);

第三步:登入PHPWind將使用者ID寫入Cookie值,退出PHPWind將使用者ID從Cookie值裡清除
login.php/register.php
寫入Cookie
setCookie("CookieID", $Winduid);
清除Cookie
setcookie("CookieID", "", time() - 3600);
第四步:修改最土頁面串連
header.html
複製代碼 代碼如下:
<ul class="links">
<li class="username">歡迎您,{$login_user['username']}!</li>
<li class="account"><a href="/order/index.php" id="myaccount" class="account">我的{$INI['system']['abbreviation']}</a></li>
<li class="logout"><a href="http://www.cnblogs.com/../login.php?action=quit&verify={$_COOKIE['SetOut']}">退出</a></li>
</ul>
<!--{else}-->
<ul class="links">
<li class="login"><a href="/../login.php">登入</a></li>
<li class="signup"><a href="/../register.php">註冊</a></li>
</ul>

同步登入成功,所有的登入和退出全部在PHPWind內進行,而最土只負責接受傳遞是否是空值來確認是否登入。

相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。