2009-02-12 191 views
0

我有一個將文件寫入到NETAPP的ASP.NET應用程序。它很挑剔,而我們能夠實現它的唯一方法是設置<identity impersonate="true"/>並刪除web.config中的<authentication.../>標籤。這允許應用程序寫入到NETAPP(在幕後進行適當的權限篡改),但現在我的應用程序無法分辨誰正在使用它。有沒有另一種方式來獲得用戶的ID而不強迫他們登錄?這是一個內部應用程序,所以它只能從登錄用戶的工作站運行。有任何想法嗎?獲取用戶的身份而不進行身份驗證

編輯:我不是IIS專家,但我相信該應用程序已設置爲在某個特權帳戶下運行以使其正常工作。如果沒有辦法獲取用戶的ID,我還在尋找替代方法來設置它。

回答

3
  • 在你的web.config認證設置爲「窗口」
  • 在IIS
  • 關閉「匿名訪問」的網站在IIS
  • 在「集成Windows身份驗證」打開的網站在web.config中打開身份模擬功能

我相信會做你所需要的。

0

一種可能性是我將書寫部分移動到Web服務,以便服務可以獲得所有必要的權限,而不會影響我的應用程序的功能。不過,這是一項很多工作,所以我希望能有一個更簡單的答案。

0

如果你有集成Windows身份驗證,然後

string username = HttpContext.Current.Request["LOGON_USER"]; 

編輯根據意見; 也許您真正需要的解決方案,以便禁用整個應用程序的模擬,並只模擬需要模擬的必需位。

有關如何完成此操作的其他詳細信息,請參閱此頁面。

http://www.west-wind.com/WebLog/posts/1572.aspx

+0

的問題是,我必須關閉Windows身份驗證來得到它寫入NETAPP,所以這是不行的。 – gfrizzle 2009-02-12 18:38:56

相關問題