2011-03-07 32 views
0

我們有一個在IIS7上運行的ASP.net Web應用程序。我們有多個用戶,但我們並不總是知道他們的密碼。以下是我們希望能夠做到的事情:是否可以通過c#ASP.net web應用程序中的代碼模擬獨特用戶的體驗?

以某種管理員身份登錄,顯示我們當前的用戶列表,點擊某種「以John Doe身份運行用戶」,此時我們會能夠以該用戶的身份查看應用程序(或某些頁面)。

我們正在尋求在支持/調試能力上做到這一點。我研究過ASP.net的模擬,但這似乎並不適用於此。

任何幫助/建議表示讚賞。如果我生活在夢幻世界,請讓我知道。

+0

您現在如何處理身份驗證?你使用表單身份驗證,自定義,Windows? – RQDQ 2011-03-07 20:13:18

+0

表單身份驗證 – schrags08 2011-03-07 20:18:43

回答

2

如果您正在使用forms authentication所有你需要做的是發出一個身份驗證Cookie與您試圖冒充用戶的用戶名:

// Need to be signed as administrator in order to be 
// able to impersonate 
if (User.IsInRole("Administrator")) 
{ 
    FormsAuthentication.SetAuthCookie("johndoe", false); 
} 

,並在下次申請,你將John Doe。如果您需要此信息,您還可以在會話中存儲一些值以表明這是代表John Doe的管理員。

如果您使用Windows NTLM身份驗證,我不認爲這是可能的(請糾正我,如果我錯了)。

+0

非常棒,謝謝! – schrags08 2011-03-07 20:37:50

相關問題