2014-06-27 62 views
0

我試圖在Linux上用Apache安裝SSO,但我不明白爲什麼Linux系統有一個NT域,或者甚至是一個NT域。在Linux上的OTRS單點登錄(SSO)Ubuntu Ubuntu

http://wiki.otterhub.org/index.php?title=Implementing_Single_Sign_On_on_Linux_with_Apache#Installing_Modules

<Location /otrs> 
    PerlAuthenHandler Apache2::AuthenNTLM 
    AuthType ntlm,basic 
    AuthName Basic 
    require valid-user 
    PerlAddVar ntdomain "DOMAIN dc bdc" 
    PerlSetVar defaultdomain DOMAIN 
    PerlSetVar splitdomainprefix 1 
</Location> 

$Self->{'Customer::AuthModule'} = 'Kernel::System::CustomerAuth::HTTPBasicAuth'; 
$Self->{CustomerPanelLoginURL} = 'http://otrs-server/otrs/no_sso_login_possible.html'; 
$Self->{CustomerPanelLogoutURL} = 'http://otrs-server/otrs/logout.html'; 

爲什麼會出現一個NTDOMAIN?我不知道Linux環境下是什麼。我不知道如何從文檔中做到這一點。

除此之外,它似乎不同於github網站上的文檔。有一個簡單的英文解釋,或者我只是愚蠢或什麼?

http://otrs.github.io/doc/manual/admin/3.1/en/html/auth-backends.html#customer-auth-backend-httpbasic

回答

0

這取決於你正在試圖做...

從Otterhub維基的示例主要使用NTLM在Windows域提供SSO用於Windows的客戶端:用戶登錄到他們的工作站以及他們的域名憑證並被傳遞給OTRS/Apache。

管理員手冊中的示例(使用Kernel :: System :: CustomerAuth :: HTTPBasicAuth)是一種更通用的方法 - 但從技術上講與NTLM-stuff幾乎相同。

這裏的基本思想是,你已經爲你的用戶在其他地方做過某種認證,然後設置Authorization-header--就像HTTP-Basic-Auth所做的那樣。

OTRS然後使用由Authorization-header提供的用戶名來查詢本地用戶數據庫。

tl; dr:在第一個示例中,您通過從NTLM獲取相關信息來設置Authorization-標題,在第二個示例中,您必須找到解決方法並自行設置適當的標題。