0
我想在我的asp.net c#網站上模擬一個遠程活動目錄帳戶,該網站託管在無域計算機(或其他域)上。我已經得到這個工作:獲取當前模擬用戶的用戶名
IntPtr token = IntPtr.Zero;
LogonUser("username", "ad.some.other.domain.com", "password", LOGON_TYPE_NEW_CREDENTIALS, LOGON32_PROVIDER_WINNT50, ref token))
{
WindowsImpersonationContext wic;
wic = WindowsIdentity.Impersonate(token);
//run code under the impersonated user.
//System.Environment.UserName returns windows user (not impersonated one)
//WindowsIdentity.GetCurrent() returns windows user (not impersonated one)
}
我的代碼運行,但我無法獲得模擬用戶的'用戶名'。我知道這是因爲我使用LOGON_TYPE_NEW_CREDENTIALS作爲我的登錄類型,它在技術上不模仿,但使用令牌在模擬帳戶下運行網絡連接。這工作正常,但理想情況下,我的網站將在模擬用戶下運行,所以我可以獲取用戶名和其他可能的功能。基本上我想作爲模擬用戶與網站進行交互,而不僅僅是作爲模擬用戶運行網絡連接。我試過LOGON32_LOGON_INTERACTIVE作爲登錄類型,但這不允許我在我的網站上運行的域計算機上驗證域帳戶。
有什麼我可以做的,以便我可以充分模仿(獲取用戶名等)並使用來自無域計算機的活動目錄進行身份驗證?
謝謝你,是的,我已經在我的web.config文件。我的網站是asp.net(沒有mvc或項目只是標準網站)。 – russds 2013-04-25 19:05:12