2010-06-21 72 views
0

經過大量研究,似乎在IE的Web瀏覽器控件中創建和使用我們自己的安全管理器,我們需要爲IInternetHostSecurityManager和IInternetSecurityManager重寫GetSecurityId方法如在某些時候,他們進行比較,如果發現返回不同的結果,他們拋出一個異常UnauthorizedAccess。有沒有人有重寫IInternetHostSecurityManager成功。 MSDN建議通過SID_SInternetSecurityManager訪問它,但我還沒有發現任何SID_SInternetSecurityManager其他引用。此外,我還沒有找到IInternetHostSecurityManager一個GUID,所以我無法通過IServiceProvider.QueryService訪問它。任何一個成功的解決這個或找到訪問跨域I幀的WebBrowser控件不同的方法?訪問IInternetHostSecurityManager :: GetSecurityId方法來解決跨域iframe問題

回答

0

IID_IInternetHostSecurityManager,SID_SInternetSecurityManager和SID_SInternetHostSecurityManager在urlmon.h和urlmon.idl中定義。如果您在C++中有鏈接錯誤,請檢查How to avoid error "LNK2001 unresolved external" by using DEFINE_GUID

如果您在使用腳本語言,您可以使用midl /tlb生成從urlmon.idl類型庫,並導入類型庫來代替。您也可以根據urlmon.idl中的定義來聲明guid和接口。