2009-04-23 57 views

回答

7

這是一個相當廣泛的問題要問,答案取決於一些事情。但是,最重要的兩個因素是您的目標環境和部署方法。

大多數消費軟件與安裝程序(MSI)一起安裝並獲得對目標計算機的完全信任。如果這是您的環境和交付方式,那麼您可能永遠不需要學習或掌握代碼訪問安全性。另一方面,企業客戶通常希望更多地控制軟件可以做什麼和不可以做什麼。代碼訪問安全性爲IT提供了鎖定應用程序的能力以及他們可以對安裝的機器進行控制的能力。所以,如果你正在爲企業建設,理解CAS可能是一個要求。

無論您的目標市場如何,您部署應用程序可能需要您瞭解CAS。默認情況下,XBAP應用程序不是完全信任的,需要採取重要措施才能提升爲完全信任。 Click-Once部署的應用程序也不是完全信任的,但可以更容易地提升爲完全信任。因此,如果您打算使用這些方法中的任何一種來部署軟件,那麼您可能需要了解CAS。

最後,根據定義,Silverlight作爲平臺並不是完全可信的。事實上,它永遠不可能是完全信任的。這不是一個CAS問題,因爲沒有深入的瞭解CAS將幫助您克服Silverlight不包含執行完整信任活動所需的代碼的事實。然而,我在此列入Silverlight的原因在於,通過設計瞭解平臺中存在的一些安全限制,對CAS的良好理解可能會派上用場。

希望有所幫助。

3

這不是必需的,但它確實有助於使您的應用程序更安全。方法的含義聲明使你的意圖清晰。

4

是的,如果你想獲得一個MCPD。在現實世界中,我從不需要它。我爲政府撰寫申請表,他們在安全方面相當嚴格,他們從未要求過。

2

呃,這是一個不錯的主意(我猜),但在現實生活中,當您嘗試從網絡驅動器部署或讀取文件時,CAS只會增加其醜陋的頭部。 「學習」並不難,但我不會詳談。

2

桌面應用程序被視爲「完全信任」,您將永遠不需要完全信任應用程序的CAS。

在.NET 1.0出來後不久我就買了一本書,我永遠不會花時間閱讀它。

2

我從來沒有真正遇到需要代碼訪問安全性的情況。獲得MCPD或MCSD(或者任何新的證書)是一個明確的要求,但我認爲更好的想法是在走下去之前瞭解安全編碼實踐(配置加密,處理用戶輸入等)代碼訪問安全性。

相關問題