簡體   English   中英

Trac-網站范圍內的登錄

[英]Trac - site wide login

我已經將Trac安裝為較大的網站的子集。 理想情況下,我希望能夠從主站點登錄用戶而不必使用trac界面本身。 主站點是在IIS上的PHP中實現的。 另外,如果用戶是通過Trac登錄的,那么我希望能夠基於用戶權限從某些PHP頁面提供對其他功能的訪問。

身份驗證在trac中使用htpasswd文件,並且能夠通過trac界面管理用戶非常有用。 此外,將使用相同的用戶/密碼進行顛覆,因為這可以使用htpasswd文件。 我不能將其與IIS一起通過虛擬路徑和身份驗證角色進行登錄。 我不想使用LDAP / ActiveDirectory

能夠在PHP中實現一個實際上將用戶登錄到Trac的登錄頁面將是一個很好的選擇。 但是我不確定如何在PHP頁面中添加適當的__FORM_TOKEN字段。 可以使用trac登錄頁面本身,但是登錄后,如果它不是站點的trac部分的子URL,則轉到trac Wiki主頁,而不是我在表單數據中設置的引薦來源網址。

同樣,能夠查詢當前從PHP登錄到Trac的用戶的權限也很方便。 大概可以通過sqlite數據庫實現,但是我怎么知道當前用戶是誰?

最終自己從trac根目錄的子URL為我的PHP登錄表單生成了trac_form_token cookie(從IIS中覆蓋該子URL,以便它不是由trac處理,而是由php處理)。 做起來很容易。

如果將trac配置為將trac_auth cookie的路徑設置為站點的根,那么檢查登錄用戶非常容易。 然后,您可以訪問它並從PHP查詢trac sqlite數據庫以獲取用戶名和權限。

然后,對於PHP登錄,您將生成trac_form_token並向trac執行POST curl請求,然后從返回的響應標頭中傳遞所需的cookie。

編輯:更改為trac.ini以使trac_auth cookie在整個站點范圍內可用,而不僅僅是從/ trac /

[trac] 
auth_cookie_path = \

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM