簡體   English   中英

具有LDAP的Sitecore-以編程方式進行身份驗證

[英]Sitecore with LDAP - authenticate programmatically

我正在Sitecore內創建一個應用程序,我只希望它可以通過直接URL提供給用戶。 我希望針對LDAP進行身份驗證。 我嘗試直接轉到該應用程序,然后將其重定向到自動登錄頁面,然后將我重定向到該應用程序,但沒有這樣做。 相反,它帶我到了Sitecore登錄頁面。

我想知道是否可以編寫一些代碼來自動認證LDAP用戶並重定向到應用程序頁面。 我希望用戶永遠不要看到登錄頁面或Sitecore桌面或該應用程序以外的任何Sitecore屏幕。

謝謝

通過將AD模塊與Global.asax中的一些自定義代碼結合起來,我們完成了類似的工作。 以下幾行可能會有所幫助。 您可能需要一堆邏輯來檢查用戶是否已經登錄,以及他們是否正在訪問您要自動登錄的路徑。

注意 :確保在IIS中啟用了Windows身份驗證。

protected void Session_Start(object sender, EventArgs e){
        // The user from Windows Authentication in IIS
        var user = Context.Request.ServerVariables["LOGON_USER"];
        //Log the user in
        bool success = Sitecore.Security.Authentication.AuthenticationManager.Provider.Login(user, false);

}

您會注意到,我提供的示例直接轉到提供者。 您還可以在AuthenticationManager類上調用Login,這還將對緩存進行其他處理。 就我而言,我試圖繞過它。

更新(2017-06-29):在較新版本的Sitecore中,不建議對Global.asax進行更改。 不幸的是,Sitecore中沒有等效的管道。 您可以嘗試使用httpRequestBegin(UserResolver處理器所在的位置)或httpRequestProcessed,但是它們會在每個單個請求上觸發。

一種替代方法(在SlackChat上提供@Mark Cassidy的信用)是使用Initialize管道,然后在該處理器中注冊會話開始事件。

可能是的,通過Google的快速搜索可以找到以下內容:

http://www.nehemiahj.com/2013/01/how-to-enable-single-sign-on-in-sitecore.html

基於Sitecore的AD模塊

http://sdn.sitecore.net/SDN5/Products/AD/AD11/Documentation.aspx

那應該給您一個很好的起點。

暫無
暫無

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

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