簡體   English   中英

什么是ASP.NET中的模擬?

[英]What is Impersonation in ASP.NET?

請解釋非技術用戶的模仿。然后請在ASP.NET的上下文中解釋。 冒充是好還是壞? 我們是否在基於表單的身份驗證的情況下使用它?

你應該查看基思布朗對假冒的描述。 它實際上是一個Windows概念。

當您使用表單身份驗證(FA)的應用程序時,IIS進程在IIS中的特定用戶設置的憑據下運行。

示例:如果您有一個名為Bob的用戶使用FA和IIS設置登錄,以作為網絡服務運行。 Bob訪問一個頁面,該頁面將Web服務調用到另一台計算機,另一台計算機將看到IIS用戶而不是Bob。 您可以使用模擬來允許Bob以真實的Windows用戶身份訪問Web服務,而不是網絡服務。

假冒不是邪惡的,但它可能被濫用。 您真的需要了解對整體安全模型的影響。 它也為開發人員調試創造了大量工作。 如果您對您嘗試訪問的資源(例如Web服務)沒有管理員權限,則尤其如此。

Web應用程序通過Web服務器運行。 該Web服務器以具有與您不同的權限的用戶身份運行。 模擬允許應用程序以您(或在cmoputer上具有不同priveledges的任何其他用戶)運行,就好像您已登錄到運行它本身的計算機一樣。

它實際上使事情變得非常好。 它允許您以另一種方式授予/限制對計算機上受保護文件的訪問權限。

是的,您可以使用表單身份驗證來應用它(但您不必這樣做)。

ASP.NET應用程序可以使用發出請求的用戶的Windows身份(用戶帳戶)執行。 模擬通常用於依賴Microsoft Internet信息服務(IIS)對用戶進行身份驗證的應用程序。

默認情況下禁用ASP.NET模擬。 如果為ASP.NET應用程序啟用了模擬,則該應用程序將在其訪問令牌IIS傳遞給ASP.NET的標識的上下文中運行。 該令牌可以是經過身份驗證的用戶令牌,例如登錄Windows用戶的令牌,也可以是IIS為匿名用戶提供的令牌(通常是IUSR_MACHINENAME標識)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM