2013-05-13 25 views
1

我必須通過web.config配置爲使用模擬像這樣的ASP.NET應用程序:ASP.NET模擬與高程

<system.web> 
    <identity impersonate="true" /> 
    <authentication mode="Windows" /> 
</system.web> 

的應用程序需要執行某些管理任務。如果我以用戶administrator身份登錄到應用程序,但工作正常,但在以userA身份登錄時不起作用(訪問僅管理系統資源失敗),其中確實有對系統具有管理訪問權限。

我懷疑這裏發生了什麼是UAC在加強。雖然ASP.NET應用程序正在模擬userA,當它涉及到執行某些需要擡高,它失敗了,而正在作爲administrator是很好的,因爲用戶開始時升高(如果在Windows中以交互方式執行操作,則永遠不會獲得UAC提示)。

順便說一句,我不需要網絡級別的冒充,所以我不相信我應該需要delegation

+0

「應用程序需要執行某些管理任務」 - 什麼是任務? 「在系統上具有管理訪問權限」 - 在該機器的本地管理員組中是用戶userA? – 2013-05-13 03:36:25

+0

*「什麼是任務?」* - 讀取和寫入系統目錄中的文件。 *「在該機器的本地管理員組中是否是userA'?」 - 是的,或者在某些情況下,它將位於域組中。我很高興只能將此要求限制在本地管理員組。 – Snixtor 2013-05-13 03:40:27

+0

我剛剛發現,這似乎只是如果我的瀏覽器與IIS在同一臺機器上,並且我正在嘗試以與登錄Windows時相同的用戶身份登錄。我想這是檢測我有一個交互式登錄會話,並希望吐出一個UAC提示。但是如果我在一臺單獨的機器上,UAC被繞過。有趣的是,在大部分*(但不是全部)的情況下,以管理員身份運行瀏覽器可以解決這個問題,大概是因爲它是「提前」UAC。 – Snixtor 2013-05-13 06:46:15

回答

0

我們公司與內部應用程序和UAC混淆了兩個多星期。我們採取了兩種方法解決這個問題。

首先,我們創建了一個安全組和安全策略,創建了一個用戶併爲該用戶分配了運行的Web應用程序池。這只是解決了我們的一些問題。

如果沒有解決我們所有的問題,並且我們無法修復應用程序以使用我們可以提供的權限...我們在該服務器上關閉了UAC。這是迄今爲止龐大的的安全隱患,有些地方這是不可接受的。但是,我們可以獲得需要完成的一些任務所需的管理員令牌。

我懷疑是否有可能讓應用程序池向桌面用戶提供UAC身份驗證框,因爲沙盒服務已提供。如果適用,您可能需要系統管理員/ IT部門參與並討論不同方法的風險和收益。

+0

感謝您分享您的經驗史蒂文,這些是一些*替代*探索,但我堅持希望有一個更直接的解決方案。 – Snixtor 2013-05-13 03:49:38

+0

我也在關注這個問題,因爲我會**愛**重溫這種情況。 – 2013-05-13 03:53:29