2009-06-26 28 views
1

我已經設置了一個在網頁上運行的ActiveX控件。服務器能夠將此網頁提供給自己,但內部網和互聯網上的其他計算機無法訪問它。CASPOL,FullTrust並在IE中使用基於URL的FullTrust運行ActiveX控件

的Caspol設置是這樣的:

代碼組:

1. All code: FullTrust 
    1.1. Zone - MyComputer: FullTrust 
     1.1.1. StrongName - (omitted) : FullTrust 
     1.1.2. StrongName - 00000000000000000400000000000000: FullTrust 
    1.2. Zone - Intranet: FullTrust 
     1.2.1. All code: Same site Web 
     1.2.2. All code: Same directory FileIO - 'Read, PathDiscovery' 
    1.3. Zone - Internet: Internet 
     1.3.1. All code: Same site Web 
    1.4. Zone - Untrusted: Nothing 
    1.5. Zone - Trusted: Internet 
     1.5.1. All code: Same site Web 
    1.6. Url - http://MYSERVERNAME/APPLICATIONNAME/*: FullTrust 
Success 

我試圖訪問的應用程序組1.6。我在這裏做錯了什麼?

[編輯] 值得一提的是,一臺機器試圖訪問從Intranet控制的IEDebug錯誤日誌顯示一個長例外。最值得一提的是它:

System.Net.WebPermission 
The first permission that failed was: 
<IPermission class="System.Net.WebPermission, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
version="1"> 
+0

我得到一個控制工作的一些類似的問題,在我們的情況下,我們不得不改變 的http:// MYSERVERNAME/APPLICATIONNAME/*到http:// MYSERVERNAME/* 另外,還要確保你有一個規則如果您使用SSL,則使用HTTPS。 因爲您的FullTrust處於頂級水平,您的情況可能會出錯。 – BeWarned 2009-07-07 17:19:30

回答

4

很久以前我讀的地方,對於.NET用戶控件,URL證據不起作用。只有網站和區域證據有效。

caspol -machine -quiet -addgroup Trusted_Zone -site mysite.com FullTrust -name mysite -description "Code group granting trust to code from mysite.com" 

您可以爲每個區域執行此操作。

使用IE8時,請確保mysite.com被添加到可信站點列表3。我不確定保護模式是否必須關閉。

當你是一個64位系統上,有兩個caspol的,有獨立的權限:

  • C:\ WINDOWS \ Microsoft.NET \框架\ V2.0.50727 \的Caspol.exe
  • C:\ WINDOWS \ Microsoft.NET \ Framework64 \ V2.0.50727 \的Caspol.exe

我大量的時間在32位caspol設置權限,然後敲我的頭靠在牆上,因爲它止跌沒有工作。事實證明,我使用64位IE8,因爲這使得IEDebug.log。最好在兩個版本上設置權限。

0

事實證明,這根本不是信任問題。應用程序運行所需的DLL不在應用程序的bin目錄中。因此,應用程序試圖從GAC中提取所需的DLL,這是不正確的。使用所需的DLL進行部署可以解決問題。

作爲一個方面說明 - 這是一個非常陳舊的軟件交付機制,希望它不再被使用。調試這些類型的錯誤要比應該更困難。建議選擇比嵌入式控件更好的傳遞機制。

相關問題