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

首頁 > 學院 > 開發設計 > 正文

Discuz & UCenter 修改手記

2019-11-15 01:59:34
字體:
來源:轉載
供稿:網友
Discuz & UCenter 修改手記 - 2014.12.19

最近在整java和UCENTER的東西,受限于項目架構需要,無法完全以UCENTER為中心,所以在對接過程中遇到了許多不愉快的事情。經歷多番研究,終于解決了其中了兩個大問題,現記錄下來,以備日后查看。

一、解決email必須填寫的問題

項目并不要求用戶注冊時填寫email,但UCENTER API要求必須輸入email才可以通過驗證,不得已必須得修改UCENTER代碼才能繞過。以下是改動的代碼:

/uc_server/control/user.php 69行:

1 // NOTE: 解決email必須填寫的問題2 //if(($status = $this->_check_email($email)) < 0) {3 //    return $status;4 //}

二、解決用戶必須手工登錄1次論壇的問題

由于BBS屏蔽了DISCUZ自帶的注冊、登錄、找密等操作,所以必須要實現單點登錄。當中遇到了一個非常蛋疼的問題:主站注冊的賬戶同步到UCENTER之后,UCENTER并不會通知其他應用,也就是說默認情況下,其他應用(包括DISCUZ在內)無法在新用戶注冊之后立即更新用戶列表。細細研究之后發現,DISCUZ是在本地注冊、登錄等事件中才會與UCENTER同步。這導致了,在主站新注冊的用戶,無法在BBS單點登錄成功——因為在BBS中根本不存在這個用戶。解決的方法有兩個,一是用戶手工登錄一次BBS,BBS自帶的機制會自動將用戶信息從UCENTER同步過來;二是修改DISCUZ系統代碼,在單點登錄請求時自動同步用戶數據。在權衡了各方面因素之后,決定采用第二套方案。以下是改動的代碼:

/api/uc.php 192行:

 1 // NOTE 解決用戶必須手工登錄1次論壇的問題 2 $member = getuserbyuid($uid, 1); 3  4 if (!$member) { 5     $init_arr = explode(',', $_G['initcredits']); 6     $groupid = $_G['regverify'] ? 8 : $_G['newusergroupid']; 7  8     C::t('common_member')->insert($uid, $get['username'], md5(random(10)), $get['email'], $_G['clientWord]/t$member[uid]", 'ENCODE'), $cookietime);15 }


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 抚顺市| 葫芦岛市| 博客| 蕉岭县| 光泽县| 正安县| 永修县| 塔河县| 凤城市| 桦南县| 元阳县| 巫溪县| 萍乡市| 怀化市| 赤水市| 甘泉县| 德惠市| 贞丰县| 平远县| 贵定县| 中牟县| 崇义县| 灯塔市| 保靖县| 新化县| 嘉峪关市| 德保县| 乌兰县| 洛川县| 雷山县| 安化县| 比如县| 阳山县| 香港 | 舞钢市| 团风县| 娄烦县| 绿春县| 巧家县| 汕尾市| 聂荣县|