首先,讓我定義最終目標:Wordpress存儲用戶認證數據的方式背後有哪些細節?
我想使用Wordpress(版本2.8)來管理Web站點的身份驗證數據/證書和訪問控制。 Wordpress將用於大多數網站,但有些頁面將在Wordpress環境之外構建。這些頁面應該能夠使用用戶身份驗證數據存儲Wordpress數據庫作爲參考,以便自己做出有關訪問的決定。
所以,問題:
到底是如何做的WordPress存儲用戶身份驗證在其數據庫中的數據?
這個答案的第一部分很簡單,在Wordpress數據庫內部,有一個表格用來保存主要用戶數據。我相信此表的默認名稱是「wp_users」,但可以根據Wordpress的設置方式進行更改。該表包含分別保存用戶名和密碼數據的字段「user_login」和「user_pass」。
「user_login」只是一個純文本字段,因此很容易訪問,但密碼被醃製和散列。這導致了仍需要確定的第一件事:Wordpress用於生成存儲在「user_pass」中的字符串的salting和hashing過程是什麼?
保持打開的其他部分是Wordpress存儲其「角色」的地方/方式。在我的安裝中,這些角色默認爲:Administrator,Editor,Author,Contributor和Subscriber。我不明白的是這些角色如何與個人用戶相關聯。另外,這些角色可以改變嗎?
因此,要回顧一下,真正的問題是在三個部分:
1)什麼是WordPress使用轉置用戶的明文密碼存儲在該字符串「的具體方法「wp_users」數據庫表的「user_pass」列?
2)個人用戶與其各自的Wordpress「角色」之間的聯繫存儲在哪裏?
3)可以修改Wordpress中的「角色」以更改其名稱和/或添加/刪除它們?
注意:我意識到另一種方法是讓非Wordpress頁面檢查Wordpress cookie以確定訪問。我將根據這些問題創建另一個問題,但爲了解決這個問題,重點是非Wordpress頁面如何利用實際的Wordpress數據庫來決定訪問控制。
您是否曾經基於用戶角色管理WP外的顯示頁面?小心分享你所做的事情? :) – Steven 2009-10-12 16:15:32