簡體   English   中英

web.config中的asp .net視圖狀態選項

[英]asp .net view state option in web.config

我有一個ASP .NET應用程序。 我負責在我們的開發服務器中部署此代碼。 我使用提供的軟件包部署了代碼,安裝成功。 但是,當我嘗試取消登錄頁面時,出現以下消息,導致服務器錯誤

驗證視圖狀態MAC失敗。 如果此應用程序由Web場或群集托管,請確保<machineKey>配置指定相同的validationKey和驗證算法。 自動生成不能在群集中使用。

如果我設置enableviewstate和enableviewstatemac = false,則可以運行代碼並查看所有頁面。 我知道視圖狀態,但是對這方面沒有深入的了解。 有人可以告訴我如何啟用視圖狀態並仍使我的應用程序運行而不會損害任何與安全性相關的問題嗎? 我不具備將驗證密鑰與視圖狀態結合使用的深入知識。

另外,該應用程序目前正在生產中,我負責從現在開始進行維護。 因此,我希望提供給我的軟件包在生產環境中可以正常工作,而不必刪除web.config中的視圖狀態。 任何幫助,將不勝感激

如果您正在使用Web場,則應該在所有服務器上共享相同的validateKey(而不是每個服務器隨機生成)。 檢查此帖子: http : //blogs.msdn.com/b/rich_crane/archive/2004/05/12/130693.aspx

您可以編寫如下內容:

<machineKey  
validationKey="21F090935F6E49C2C797F69BBAAD8402ABD2EE0B667A8B44EA7DD4374267A75D7
               AD972A119482D15A4127461DB1DC347C1A63AE5F1CCFAACFF1B72A7F0A281B"           
decryptionKey="ABAA84D7EC4BB56D75D217CECFFB9628809BDB8BF91CFCD64568A145BE59719F"
validation="SHA1"
decryption="AES"
/>

值取決於您選擇的算法。 您可以使用隨機字符串,也可以使用System.Security.*類生成自定義字符串。 有關更多詳細信息,請查看MSDN上的本文 ,它更詳細地解釋了所有這些內容。

暫無
暫無

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

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