UCenter同步登入和資料倉儲的原理總結

2021-06-04 19:04:07 字數 726 閱讀 3224

測試程式:

1.discuz

2.ucenter

3.example

測試目標:

1.使用ucenter作為乙個中間倉庫儲存使用者資料,該資料即可以被discuz呼叫,也能被example呼叫。(即discuz和example共用乙個資料庫-儲存使用者資訊)

2.實現在discuz中登入後,接著開啟example時,使用者可以自動登入。(即兩者同步登入)

同步登入實現原理:

1.在example中登入成功後,程式會執行uc_user_synlogin($uid)函式,該函式會生成乙個cookie,名字叫example_auth,值是乙個加密的字串

2.接著開啟discuz,此時discuze會先判斷$_cookie['example_auth']是否為空,如果不為空,則讀取該字串並進行解密,提取其中的使用者名稱和uid

3.若提取成功,則discuz就預設該使用者已經登入了

結論:若想兩個或多個基於ucenter的應用可以成功實現同步登入,那麼就必須保證這多個應用使用同乙個$_cookie['example_auth'],而要達到這個目的,該cookie在每個應用中被設定時,其「域」,「路徑」,「名稱」必須要保持一致。

資料倉儲實現原理:

說白了就是兩個應用共用乙個資料庫,運算元據的方法由ucenter統一提供

面試 數倉 數倉和資料庫的區別

2者的命名無論中英文其實並無不同,base和warehouse。要從以下幾個方面來區分 拿mysql這個資料庫和apache hive這個資料倉儲為例。這裡hive事實上就是乙個很巨集大的 體系結構 它可以把元資料儲存在mysql oracle或者derby這些具體的資料庫 技術 裡 它在進行查詢時...

使用者註冊登入 和 資料寫入檔案的註冊登入

class user def init self,username,password self.username username self.password password class account def init self self.user list 目的是儲存使用者資訊 pass de...

pymysql 操作mysql和資料庫同步

嘻嘻,我又來寫部落格了 作為一名菜鳥,我非常喜歡寫部落格,記錄下自己的成長,然後也是一些總結 create database laboratory use laboratory create table salary id int,name varchar 50 salary decimal 8,2...