国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > Discuz > 正文

Discuz論壇與第三方應(yīng)用同步登錄注冊

2024-09-11 09:03:10
字體:
供稿:網(wǎng)友

1.Discuz版本

我安裝的Discuz是目前比較新的3.2版本。安裝完以后UCenter已經(jīng)安裝好了。

2.第三方應(yīng)用站點

自己開發(fā)的簡單的web應(yīng)用平臺系統(tǒng)。

3.UCenter添加應(yīng)用

3.1進(jìn)入UCenter,http://***:8088/bbs/uc_server,***代表UCenter所在服務(wù)器ip地址或者域名,Apache端口默認(rèn)的是80,由于需要,我把端口改成了8088(修改方法會在別的博文中敘述)。

3.2登錄成功以后選擇應(yīng)用管理選項,點擊添加應(yīng)用按鈕,自定義安裝。

一般只需要填寫應(yīng)用名稱、應(yīng)用的主 URL、通信秘鑰,然后選擇開啟同步登錄和接收消息為是

3.4提交保存應(yīng)用

4.第三方應(yīng)用的配置

4.1添加配置文件

在主目錄下添加配置文件,名稱為config.properties,內(nèi)容如下:

  1. #uc server url 
  2. UC_API = http://localhost/uc 
  3. #uc ip address 
  4. UC_IP = 
  5. #key通信秘鑰 
  6. UC_KEY = 12345 
  7. #appid,UCenter中第三方應(yīng)用的ID 
  8. UC_APPID = 3 
  9. #connect mode: default value is "" 
  10. UC_CONNECT = 

4.2配置web.xml

在web.xml中添加如下代碼

Discuz論壇與第三方應(yīng)用同步登錄注冊

4.3添加同步登錄所需jar包jar包源碼下載地址

4.4同步登錄代碼示例:

  1. Client e = new Client(); 
  2. String result = e.uc_user_login("username""password");   
  3. LinkedList rs = XMLHelper.uc_unserialize(result); 
  4.  if(rs.size()>0){   
  5.  int $uid = Integer.parseInt(rs.get(0)); 
  6. String $username = rs.get(1); 
  7. String $password = rs.get(2); 
  8. String $email = rs.get(3); 
  9.  if($uid > 0) {   
  10. System.out.println("登錄成功"); 
  11. System.out.println($username); 
  12.  System.out.println($password); 
  13.  System.out.println($email);   
  14. String $ucsynlogin = e.uc_user_synlogin($uid); 
  15. System.out.println("登錄成功"+$ucsynlogin);   
  16. //本地登陸代碼 //TODO ... ....   
  17. else if($uid == -1) {   
  18. System.out.println("用戶不存在,或者被刪除");   
  19. else if($uid == -2) {   
  20. System.out.println("密碼錯");   
  21. else {   
  22. System.out.println("未定義");   
  23. }  //開源軟件:Vevb.com 
  24. }else{   
  25. System.out.println("Login failed"); System.out.println(result);   
  26. }  

4.5同步注冊代碼示例:

  1. String $returns = uc.uc_user_register(user.getUsername(), "***", user.getEmail());   
  2.         int $uid = Integer.parseInt($returns);   
  3.         if ($uid <= 0) {   
  4.             if ($uid == -1) {   
  5.                 System.out.print("用戶名不合法");   
  6.             } else if ($uid == -2) {   
  7.                 System.out.print("包含要允許注冊的詞語");   
  8.             } else if ($uid == -3) {   
  9.                 System.out.print("用戶名已經(jīng)存在");   
  10.             } else if ($uid == -4) {   
  11.                 System.out.print("Email 格式有誤");   
  12.             } else if ($uid == -5) {   
  13.                 System.out.print("Email 不允許注冊");   
  14.             } else if ($uid == -6) {   
  15.                 System.out.print("該 Email 已經(jīng)被注冊");   
  16.             } else {   
  17.                 System.out.print("未定義");   
  18.             }   
  19.         } else {   
  20.             System.out.println("OK:" + $returns);   
  21.         } 

4.6登出代碼示例:

  1. Client uc = new Client();   
  2.        //setcookie('Example_auth', '', -86400);   
  3.        //生成同步退出的代碼   
  4.        String $ucsynlogout = uc.uc_user_synlogout(); 
  5.        System.out.println("退出成功"+$ucsynlogout);   
  6.           
  7.        if ($ucsynlogout != null) {   
  8.            HttpServletResponse res = getResponse();   
  9.            System.out.println($ucsynlogout);   
  10.            res.reset();   
  11.               
  12.            res.setContentType("text/html");   
  13.            res.setCharacterEncoding("utf-8");   
  14.            res.getWriter().write("成功登出" + $ucsynlogout);   
  15.   
  16.            return null;   
  17.        }

基本上Discuz論壇的同步登錄注冊和退出的功能就如上所述,有幾點需要注意.

1,是在同步登錄時返回的結(jié)果$ucsynlogin中,是一串包含兩個script標(biāo)簽的字符串,需要先執(zhí)行一下第一個script標(biāo)簽中的src之后才能同步登錄成功,否則失敗,原因是這段代碼是為了向Discuz論壇里寫入登錄信息,至于以什么樣的方式執(zhí)行需要自己定義,我是直接解析到這段字符串到前臺頁面執(zhí)行。

2,是同步注冊后的用戶并沒有直接添加到用戶表了,而是需要用新注冊的用戶登錄一下論壇進(jìn)行一下激活才能使用,可以通過修改UCenter的配置來解決這個問題,用管理員登錄論壇進(jìn)入管理中心選擇站長選項,選擇UCenter設(shè)置是否允許其他應(yīng)用的會員在站點激活:和是否允許直接激活都選擇是,然后提交就行。

3.UCenter提供了域名解析服務(wù),可以添加域名解析,把域名解析成ip地址.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 黑山县| 宜丰县| 龙川县| 奉化市| 滨海县| 呈贡县| 旬阳县| 班戈县| 林甸县| 永嘉县| 乐都县| 从江县| 武陟县| 香河县| 崇信县| 宁海县| 项城市| 阳春市| 德保县| 凤山市| 玉环县| 绍兴县| 普安县| 紫金县| 南丹县| 蚌埠市| 通辽市| 修水县| 南汇区| 哈尔滨市| 莱州市| 德兴市| 建昌县| 博野县| 云阳县| 山阴县| 延津县| 齐河县| 荣成市| 文成县| 岑溪市|