亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > CMS > PhpCMS > 正文

完美整合phpcms v9和discuz X3.1實現同步登陸退出論壇免激活

2024-07-09 22:53:57
字體:
來源:轉載
供稿:網友
點評:UCenter 作服務端;phpsso 與 Discuz! 分別作 UCenter 的客戶端應用;phpsso 與 Discuz! 通過 UCenter 發生交互
 
 

經過測試仍然有問題,phpcms登陸,論壇可以實現同步登陸,但論壇登陸phpcms無法同步登陸。但總體來說也能使用了。如果有更好的方法歡迎補充。

整合原理:

UCenter 作服務端;phpsso 與 Discuz! 分別作 UCenter 的客戶端應用;phpsso 與 Discuz! 通過 UCenter 發生交互。
phpcms 通過 phpsso 與 Discuz! 發生交互。

第一步:安裝 phpcms V9 。安裝 Discuz! X3.0 (同時安裝 UCenter)。

第二步:在 UCenter 中添加“phpsso 應用”。

1、管理員登錄 Discuz! X3.0 管理中心,進入“UCenter”,點擊“應用管理”。
2、點擊“添加新應用”按鈕,選擇安裝方式為”自定義安裝“。在展開的”添加新應用“參數配置表中,各項參數配置如下:

    應用名稱:phpsso
    應用的主 URL:http://localhost/phpcms/phpsso_server   (必填, phpcms 安裝路徑,視實際情況而定,最后不要帶斜線)
    應用 IP:(選填,正常情況下留空即可。如果由于域名解析問題導致 UCenter 與該應用通信失敗,請嘗試設置為該應用所在服務器的 IP 地址。)
    通信密鑰:(必填,phpcms 的通信密鑰必須與此設置保持一致,否則 phpsso 將無法與 UCenter 正常通信。)
    應用類型:其它(必選)
    應用的物理路徑:(選填,默認留空)
    查看個人資料頁面地址:(選填,URL中域名后面的部分,如:/space.php?uid=%s 這里的 %s 代表uid)
    應用接口文件名稱:(選填,默認為uc.php)
    標簽單條顯示模板:(選填,默認留空)
    標簽模板標記說明:(選填,默認留空)
    是否開啟同步登錄:是(可選,開啟同步登錄后,當用戶在登錄 Discuz! 時,同時也會登錄 phpcms 。)
    是否接受通知:否(可選)

3、提交后,將生成新的應用ID。(記住這個應用ID,在”第三步“中將用到它。)
4、進入后臺“站長”,“UCenter 設置”選項。"是否允許直接激活"一項,選擇“是”。

第三步:配置 phpsso 。
1、管理員登錄 phpcms V9 后臺管理中心,進入“phpsso”,點擊“系統設置”。
2、在“系統設置”下的“UCenter配置”一欄中,各項參數配置如下:
    
是否啟用:是
    Ucenter api 地址:http://localhost/discuz/uc_server     (必填,藍色字體部分為 Discuz! 安裝路徑,視實際情況而定,最后不要帶斜線)
    Ucenter api IP:(選填,一般不用填寫,遇到無法同步時,請填寫 UCenter 主機的IP地址)
    Ucenter 數據庫主機名:localhost     (必填,視實際情況而定)
    Ucenter 數據庫用戶名:root     (必填,視實際情況而定)
    Ucenter 數據庫密碼:root    (視實際情況而定)
    Ucenter 數據庫名:discuz     (必填,視實際情況而定)
    Ucenter 數據庫表前綴:`discuz`.pre_ucenter_     (必填,視實際情況而定。如果此項填寫錯誤,將導致 phpcms 無法注冊新會員?。?br />     Ucenter 數據庫字符集:UTF-8      (必選,視實際情況而定)
    應用id(APP ID):(必填,該值來在“第二步”中 UCenter 創建的 phpsso 應用時自動。)
    Ucenter 通信密鑰:(必填,一定確保該值與在“第二步”中 UCenter 創建的 phpsso 應用密鑰相同。)

3、提交。

第四步:查看通信狀態。
查看在 UCenter 中創建的 phpsso 應用與 UCenter 通信是否成功。
如果通信成功,則進行下一步。
如果通信失敗,請檢查“第二步”與“第三步”中的各項參數配置是否正確。

第五步:備份 ./phpsso 。將 Discuz! X3 的 uc_client 復制到 phpsso_server/api/ 下,覆蓋原來的 uc_client 。

第六步:修改 Discuz! 會員登錄相關
1、修改 template/default/member/login.htm 第 36 行,刪除
onsubmit="{if $this->setting['pwdsafety']}pwmd5('password3_$loginhash');{/if}pwdclear = 1;ajaxpost('loginform_$loginhash', 'returnmessage_$loginhash', 'returnmessage_$loginhash', 'onerror');return false;"

2、修改 template/default/member/login_s imple.htm 第 3 行,刪除
onsubmit="{if $_G['setting']['pwdsafety']}pwmd5('ls_password');{/if}return lsSubmit();"

3、修改 /source/function/function_message.php 第 78 行,查找
$param['header'] = true;
替換為:
$param['header'] = false;


常見問題解答:

1、整合完成后,在 phpcms 注冊、登錄均“失敗”怎么辦?
答:這可能是由于無法連接到 UCenter 的原因??梢試L試修改文件
        phpsso_server/api/uc_client/model/base.php
        將第 74 行的 $this->db->connect(UC_DBHOST, UC_DBUSER, UC_DBPW, '', UC_DBCHARSET, UC_DBCONNECT, UC_DBTABLEPRE);
復制代碼替換為: $this->db->connect(UC_DBHOST, UC_DBUSER, UC_DBPW, UC_DBNAME, UC_DBCHARSET, UC_DBCONNECT, UC_DBTABLEPRE);
復制代碼2、為什么不使用官方自帶的 UCenter 客戶端?
答:官方自帶的 UCenter 客戶端版本為 1.5.1 Release 20100501 ,而 Discuz! X3.0 使用的版本為 1.6.0 。版本不一致,無法整合成功。
3、整合成功后,能達到怎樣的效果?
答:實現 phpcms 與 Discuz! 會員的雙向同步注冊、登錄、退出等。
4、第一次在 phpcms 注冊的會員必須在 Discuz! 登錄一次,下次才會同步登錄。這正常嗎?
答:正常。因為 phpsso 作為 UCenter 的第三方應用,是需要在 Discuz! 登錄激活的。
如果您嫌在 Discuz! 激活麻煩,可以與我聯系,我們將提供商業服務,幫您解決這個問題。
5、會員在 phpcms 登錄后,沒有同步登錄到 Discuz! 怎么辦?
答:這很可能是由于 phpsso 的“UCenter配置”有誤引起的,請仔細檢查各項參數設置。
6、會員在 Discuz! 登錄后,沒有同步登錄到 phpcms 怎么辦?
答:這很可能是由于 UCenter 的 phpsso 應用配置有誤引起的,請仔細檢查各項參數設置。


分析其主要原因是phpsso與ucenter通信成功后,XXX_ucenter_member表中的用戶已經同步成功但是在XXX_common_member中并沒有此用戶,所以只要在xxx_common_member中插入此用戶就可以了,所以修改discuz/api/uc.php下找到function synlogin($get, $post)整段,修改為下面的內容:

function synlogin($get, $post) {
        global $_G;

        if(!API_SYNLOGIN) {
            return API_RETURN_FORBIDDEN;
        }

        header('P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"');

        $cookietime = 31536000;
        $uid = intval($get['uid']);
        $query = DB::query("SELECT uid, username, password FROM ".DB::table('common_member')." WHERE uid='$uid'");
        if ($member = DB::fetch($query))
        {
            dsetcookie('auth', authcode("$member[password]/t$member[uid]", 'ENCODE'), $cookietime);
        }else
        {
            $username = $get['username'];
            $query = DB::query("SELECT uid, username, password, email FROM ".DB::table('ucenter_members')." WHERE username='$username'");
            $member = DB::fetch($query);
            $password = $member['password'];
            $email = $member['email'];
            $ip = $_SERVER['REMOTE_ADDR'];
            $time = time();
            $userdata = array(
                'uid'=>$uid,
                'username'=>$username,
                'password'=>$password,
                'email'=>$email,
                'adminid'=>0,
                'groupid'=>10,
                'regdate'=>$time,
                'credits'=>0,
                'timeoffset'=>9999
            );
            DB::insert('common_member', $userdata);

            $status_data = array(
                'uid' => $uid,
                'regip' => $ip,
                'lastip' => $ip,
                'lastvisit' => $time,
                'lastactivity' => $time,
                'lastpost' => 0,
                'lastsendmail' => 0
            );
            DB::insert('common_member_status', $status_data);
            DB::insert('common_member_profile', array('uid' => $uid));
            DB::insert('common_member_field_forum', array('uid' => $uid));
            DB::insert('common_member_field_home', array('uid' => $uid));
            DB::insert('common_member_count', array('uid' => $uid));
            DB::query('UPDATE '.DB::table('common_setting')." SET svalue='$username' WHERE skey='lastmember'");
            $query = DB::query("SELECT uid, username, password FROM ".DB::table('common_member')." WHERE uid='$uid'");
            if ($member = DB::fetch($query))
            {
                dsetcookie('auth', authcode("$member[password]/t$member[uid]", 'ENCODE'), $cookietime);
            }
        }
    }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲三级黄色在线观看| 成人观看高清在线观看免费| 日韩av在线免费观看| 亚洲a中文字幕| 亚洲精品国产成人| 国产亚洲成av人片在线观看桃| 一区二区三区无码高清视频| 欧美又大粗又爽又黄大片视频| 亚洲区免费影片| 国产精品视频26uuu| 亚洲欧洲午夜一线一品| 久久精品美女视频网站| 98视频在线噜噜噜国产| 日韩久久免费视频| 亚洲国产成人精品电影| 亚洲国产日韩欧美在线图片| 欧美国产高跟鞋裸体秀xxxhd| 欧美午夜激情小视频| 国产精品一久久香蕉国产线看观看| 久久视频在线视频| 久久久999国产精品| 国产玖玖精品视频| 日韩一区在线视频| 色yeye香蕉凹凸一区二区av| 欧美成人国产va精品日本一级| 国产成人精品最新| 国产99在线|中文| 91亚洲精品一区二区| 久久久av一区| 亚洲tv在线观看| 久久香蕉国产线看观看网| 国产精品成人av性教育| 国产精品国产三级国产aⅴ9色| 久久精品国产2020观看福利| 欧美黑人国产人伦爽爽爽| 国模精品一区二区三区色天香| 播播国产欧美激情| 国产主播欧美精品| 在线性视频日韩欧美| 国产欧美一区二区三区四区| 日本精品免费一区二区三区| 久久精品国产免费观看| 日韩欧美aⅴ综合网站发布| 久久五月天色综合| 91精品国产91久久久久久久久| 精品偷拍各种wc美女嘘嘘| 亚洲国产精品成人精品| 色老头一区二区三区| 欧美一区二区大胆人体摄影专业网站| 日韩欧美在线免费| 欧美激情欧美狂野欧美精品| 日本精品中文字幕| 国产精品视频午夜| 2019中文在线观看| 亚洲人成网站777色婷婷| 欧美中文字幕在线| 久久琪琪电影院| 亚洲成色999久久网站| 亚洲图片在区色| 国产综合在线视频| 欧美日韩高清区| 国产精品久久久久久网站| 成人97在线观看视频| 91精品国产91久久久久久不卡| 日韩欧美在线视频观看| 亚洲国产婷婷香蕉久久久久久| 亚洲国产中文字幕在线观看| 78色国产精品| 国产欧美一区二区| 青青青国产精品一区二区| 亚洲精品成人久久久| 久久久久久久久91| 国产精品一久久香蕉国产线看观看| 日韩精品一区二区三区第95| 欧美在线xxx| 亚洲福利视频免费观看| 中文字幕国产日韩| 久久久久久国产精品三级玉女聊斋| 97免费视频在线播放| 国产成人精品a视频一区www| 国产日韩欧美在线| 久久亚洲私人国产精品va| 国产视频999| 亚洲国产精品99久久| 久久视频这里只有精品| 国产欧美在线看| 国产一区二区日韩| 亚洲国产日韩欧美综合久久| 亚洲淫片在线视频| 亚洲天堂成人在线视频| 神马久久桃色视频| 国产日韩欧美视频| 国产精品九九九| 亚洲人成网站免费播放| 欧美一级在线播放| 91色精品视频在线| 不用播放器成人网| 国产一区二区丝袜| 亚洲视频在线播放| 亚洲精品720p| 久久99久久99精品免观看粉嫩| 成人av在线网址| 日韩av在线直播| 91精品久久久久久久久久| 97成人超碰免| 亚洲成人黄色在线观看| 国产成人精品av| 欧美性受xxxx白人性爽| 日韩精品在线看| 国产精品丝袜久久久久久高清| 国产精品久久久久一区二区| 久久精品福利视频| 国产精品久久久久久久久久99| 亚洲第一精品自拍| 亚洲第一网站免费视频| 国产三级精品网站| 久久夜精品va视频免费观看| 青青草成人在线| 欧美成人免费视频| 欧美精品性视频| 久久久久久久久久婷婷| 亚洲精品wwww| 国产精品黄色影片导航在线观看| 日本精品va在线观看| 黄色一区二区在线观看| 欧美猛男性生活免费| 97不卡在线视频| 成人a免费视频| 国产精品自产拍在线观| 91在线免费观看网站| 国产午夜精品全部视频在线播放| 亚洲第一网站免费视频| 国产精品高潮粉嫩av| 成人天堂噜噜噜| 欧美专区日韩视频| 久久精品在线播放| 亚洲欧美在线磁力| 国产精品久久久久7777婷婷| 色综合色综合久久综合频道88| 色午夜这里只有精品| 久久免费国产视频| 欧美香蕉大胸在线视频观看| 亚洲欧美日韩中文视频| 国产精品热视频| 国产区亚洲区欧美区| 亚州精品天堂中文字幕| 九九精品视频在线| 中国日韩欧美久久久久久久久| 国产精品一区二区三区成人| 欧美巨猛xxxx猛交黑人97人| 欧美精品久久久久久久久久| 欧美国产日韩视频| 九九热这里只有精品免费看| 国产精品日本精品| 国产精品免费视频久久久| 深夜福利亚洲导航| 欧美性猛交xxxx免费看漫画| 欧美男插女视频| 欧美日韩国产麻豆| 日本精品免费观看| 欧美日韩免费区域视频在线观看| 日韩精品视频在线播放| 亚洲成人久久久久| 国内精品视频在线|