2011-11-01 55 views
0

我確實有一個Intranet Web應用程序,應該在客戶端部署,我不知道客戶端的用戶和角色。現在我可以在我的本地系統中vs2008的開發環境中與Active Directory進行通信。我能夠在我的開發環境中對特定用戶進行身份驗證。部署時的活動目錄身份驗證方案?

我有點困惑在這裏瞭解實際部署方案與Active directory.I如何工作確實有SQLSERVER數據庫體驗,超級用戶可以添加用戶,然後向他們分配角色。(那怎麼我​​的應用程序的工作)

但在實時情況下,活動目錄身份驗證在部署後如何工作,因爲我沒有訪問客戶端位置以部署Intranet應用程序。我完全不知道活動目錄中的用戶或他們的角色或組?

是否有我可以處理的一般情況,以便我可以實現活動目錄方案?

回答

2

鑑於這是一個Intranet應用程序,您應該使用Windows身份驗證。 在託管應用程序的IIS中,應將Windows身份驗證設置爲啓用,並且IIS將使用活動目錄對用戶進行身份驗證。

調用此代碼

IPrincipal credentials = (IPrincipal)HttpContext.Current.User; 
bool isAuthenticated = false; 
if (credentials != null) 
{ 
    WindowsIdentity identity = (WindowsIdentity)credentials.Identity; 
    isAuthenticated = identity.IsAuthenticated; 
} 
if (isAuthenticated != null) 
{ //do what needs to be done } 

當你需要對用戶進行驗證,他將與Windows日誌的形式,他可以進入他的活動目錄控制帳戶憑據呈現。

好運

+0

:我也嘗試這種方式,但它要求憑據只有一次當您啓動application.But一旦你退出應用程序就不會再次提示您輸入憑據因爲你已經登錄到系統或計算機。我希望你在這裏明白我的觀點。 – Macnique

+0

是的,我明白,但爲什麼這是一個問題?如果在同一臺機器上有多個用戶,那麼你可以讓用戶註銷,如http://stackoverflow.com/questions/1067263/asp-net-windows-authentication-logout中所述。 – Constantin