是否有必要了解用於C#中桌面應用程序開發的代碼訪問安全性(CAS)。是否有必要了解代碼訪問安全性(CAS)?
回答
這是一個相當廣泛的問題要問,答案取決於一些事情。但是,最重要的兩個因素是您的目標環境和部署方法。
大多數消費軟件與安裝程序(MSI)一起安裝並獲得對目標計算機的完全信任。如果這是您的環境和交付方式,那麼您可能永遠不需要學習或掌握代碼訪問安全性。另一方面,企業客戶通常希望更多地控制軟件可以做什麼和不可以做什麼。代碼訪問安全性爲IT提供了鎖定應用程序的能力以及他們可以對安裝的機器進行控制的能力。所以,如果你正在爲企業建設,理解CAS可能是一個要求。
無論您的目標市場如何,您部署應用程序可能需要您瞭解CAS。默認情況下,XBAP應用程序不是完全信任的,需要採取重要措施才能提升爲完全信任。 Click-Once部署的應用程序也不是完全信任的,但可以更容易地提升爲完全信任。因此,如果您打算使用這些方法中的任何一種來部署軟件,那麼您可能需要了解CAS。
最後,根據定義,Silverlight作爲平臺並不是完全可信的。事實上,它永遠不可能是完全信任的。這不是一個CAS問題,因爲沒有深入的瞭解CAS將幫助您克服Silverlight不包含執行完整信任活動所需的代碼的事實。然而,我在此列入Silverlight的原因在於,通過設計瞭解平臺中存在的一些安全限制,對CAS的良好理解可能會派上用場。
希望有所幫助。
這不是必需的,但它確實有助於使您的應用程序更安全。方法的含義聲明使你的意圖清晰。
是的,如果你想獲得一個MCPD。在現實世界中,我從不需要它。我爲政府撰寫申請表,他們在安全方面相當嚴格,他們從未要求過。
呃,這是一個不錯的主意(我猜),但在現實生活中,當您嘗試從網絡驅動器部署或讀取文件時,CAS只會增加其醜陋的頭部。 「學習」並不難,但我不會詳談。
桌面應用程序被視爲「完全信任」,您將永遠不需要完全信任應用程序的CAS。
在.NET 1.0出來後不久我就買了一本書,我永遠不會花時間閱讀它。
我從來沒有真正遇到需要代碼訪問安全性的情況。獲得MCPD或MCSD(或者任何新的證書)是一個明確的要求,但我認爲更好的想法是在走下去之前瞭解安全編碼實踐(配置加密,處理用戶輸入等)代碼訪問安全性。
- 1. 爲什麼要使用CAS(代碼訪問安全性)?
- 2. 關於代碼訪問安全性(CAS)的問題
- 3. PortalSiteMapprovider代碼訪問安全要求
- 4. 關於產品代碼訪問安全(CAS)的工作模式
- 5. .NET代碼訪問安全性
- 6. 如何判斷代碼訪問安全性是否允許在庫代碼中
- 7. 訪問`contentWindow`屬性是否安全?
- 8. 代碼訪問安全性問題 - 這裏有什麼問題?
- 9. 代碼訪問安全
- 10. 的SharePoint代碼訪問安全性,要求調用Page.TemplateControl.ParseControl
- 11. 最佳在線閱讀理解.NET代碼訪問安全性?
- 12. 是否有商業部署和使用基於.NET CAS(代碼訪問安全)的應用程序?
- 13. 此代碼是否安全?
- 14. 什麼是.NET中的代碼訪問安全性
- 15. 無法訪問的代碼是否安全地移除? (-Wunreachable-code)
- 16. Perl代碼安全掃描器除了RATS? (必須是_STATIC_)
- 17. 製作代碼「CAS安全」和「環境安全」
- 18. 安全代碼與否? (需要幫助)
- 19. 瞭解AppKey安全性(沒有祕密)
- 20. 這個PHP代碼是否必要?
- 21. 彈簧安全cas java.lang.NullPointerException CAS
- 22. Papertrail和代碼訪問安全
- 23. PHP網頁(代碼)訪問安全
- 24. 使用代碼訪問安全性,而不GAC
- 25. 代碼訪問安全性和Sharepoint Web部件
- 26. 爲什麼此代碼訪問安全性示例被破壞?
- 27. .NET代碼訪問安全性 - 爲什麼很少使用?
- 28. 代碼訪問安全性如何在.NET Framework 4下工作?
- 29. 編譯器優化是否解決了線程安全問題?
- 30. 此代碼是否爲此命名管道設置了任何安全性?
另請參閱http://stackoverflow.com/questions/1566934/is-code-access-security-of-any-real-world-use – 2009-10-22 08:27:41