自從將我們的產品轉換爲.NET 4.0並使用更新的代碼訪問安全模型後,我們遇到了問題。基本上我們有組件庫,可以或不可以安裝到機器上的GAC。.NET 4.0與GAC的XBAP安全問題
如果有人制作了XBAP,並使用這些庫的默認部分信任設置,並且最終用戶安裝了XBAP(在安裝期間部署庫),但如果我們的庫尚未在GAC中,則工作正常。
如果他們在GAC中,XBAP將在運行時失敗並出現安全性異常。我相信這個問題是由於這樣的: http://msdn.microsoft.com/en-us/library/aa970906.aspx
當管理組件安裝到全局程序集緩存(GAC),他們成爲完全可信的,因爲用戶必須提供安裝它們的明確許可。由於它們是完全可信的,因此只有完全可信的託管客戶端應用程序才能使用它
看起來,自從他們從GAC中撤出後,即使他們與XBAP部署了完全相同的.dll,他們的安全性也會提高。但是在那種情況下,一切都打破了。
有沒有什麼辦法可以解決這個問題,只需將AllowPartiallyTrustedCallersAttribute添加到所有庫中?
或者有沒有辦法阻止XBAP在GAC中查找程序集並僅使用它部署的引用的確切副本?
在此先感謝您的幫助。