2011-07-25 38 views
8

我們通過將.NET應用程序放置在局域網上並允許用戶從那裏運行來部署.NET應用程序。我們是一個非常大的組織的一部分,並沒有管理員對個人計算機,服務器和域的權限。我們甚至沒有管理員權限給我們的開發機器。網絡共享上的.NET安全異常

當用戶從網絡共享運行應用程序Dot-Net應用程序時,由於安全異常而失敗。過去,我們使用CASPOL(用戶級別)來信任文件服務器,但這很令人頭疼。我們已經開發了自定義代碼,以在執行之前將程序集複製到本地驅動器,從而有效地繞開了信任問題這兩種解決方案都不是一個好答案。我知道點網3.5將消除這個問題。

當我們用IT部分提出這個話題時,當我們詢問如何在機器或服務器上設置信任時,他們給了我們空白的目光。

一個Microsoft site

如果你的代碼的開發者或出版商,您還可以進行數字簽名 它,然後修改安全策略授予更多的權限 代號軸承該簽名。

我們的IT人員之一問我需要什麼關於密碼密鑰。在回答之前,我想確保我的假設是正確的。

  • 假設一個:由SN.EXE tool genereated的一個關鍵,可以以某種方式在任一域或企業級別信任。
  • 假設二:一旦這樣的密鑰是可信的,並且我們用它來簽署我們的代碼,那麼程序集將被信任以運行網絡共享。
  • 假設三:「信任」是域管理員/企業管理員的一部分的行爲,對域/企業來說是全局性的。我的猜測是,他們會通過一些活躍的目錄魔術將其添加到企業/域密鑰存儲區。

我的假設是正確的,還是我的基地?最後一個問題,可以使用這個相同的密鑰來簽署vba宏嗎?

+1

只是吹毛求疵,但其實際.net4會消除這個問題,而不是3.5,因爲它使用2.0運行時間 – aL3891

+0

在發佈這個問題之前,我正在閱讀幾個StackOverflow發佈內容,大多數人說3.5取消了安全策略。我會進一步調查。 –

+1

@ aL3891:默認情況下,.NET 3.5 SP1授予對本地Intranet的完全信任(http://blogs.msdn.com/b/shawnfa/archive/2008/05/12/fulltrust-on-the-localintranet.aspx) 。 .NET 4.0刪除了核心CLR對CAS策略的評估(http://blogs.msdn.com/b/shawnfa/archive/2010/02/24/so-is-cas-dead-in-net-4-或-what.aspx)。 –

回答

3

我也有在過去的這個問題,但我們解決了它不是通過簽訂組件,而是通過授予caspol premission集「LocalIntranet」完全信任(done with caspol.net 2.0 sdk),並加入我們的文件服務器的Windows中的本地Intranet網站。

這樣,你沒有要運行的代碼出來的每個文件夾caspol,和你沒有簽署所有組件和處理各地發送鍵IT