2011-07-25 37 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