如何以完全信任的方式部署IIS ASP .NET应用程序?

时间:2012-04-19 01:18:07

标签: asp.net .net security iis permissions

我们有一个工业系统,可以使用给我们的一些C ++ DLL进行接口。我编写了一个.NET包装器来控制工业系统,然后将这个.NET包装器捆绑到一个ASP .NET Web应用程序中,这样我们就可以通过Web控制系统了。

使用ASP .NET Development Server在Visual Studio中运行/调试时,一切正常。当我部署到本地ISS服务器时,我从C ++ DLL中收到错误(我被告知)意味着存在通信故障。

由于IIS应用程序和开发服务器位于同一台计算机上,并且其中一个正常,另一个不可用,因此我确信这是一个权限/安全错误。我花了几天时间摆弄应用程序池身份,ASP .NET模拟,文件系统权限等无济于事。 (我也是一个IIS-noob,这没有帮助。)

所以,这是一个妙语:

有人可以解释如何(如果可能的话)设置一个IIS ASP .NET应用程序,以便它运行时对本地计算机进行完全(滚出式,枪支式)访问?我想确保IIS没有通过任何来保留应用程序。

2 个答案:

答案 0 :(得分:6)

我不确定提供完全信任模式是否会解决您的问题,因为错误似乎来自C ++,并且文件系统级别的某种权限丢失或文件本身丢失。

在任何情况下,要回答您的问题,您可以使用web.config设置完全信任模式,将以下部分添加到您的web.config:

<system.web>
 <securityPolicy>
   <trustLevel name="Full" policyFile="internal"/>
 </securityPolicy>
</system.web>

更多细节可以在这里看到:http://msdn.microsoft.com/en-us/library/wyts434y.aspx

答案 1 :(得分:1)

除了在ASP.NET应用程序本身中设置完全信任级别之外,请检查IIS用于匿名访问您的网站/ Web应用程序的用户:

网络应用 - &gt;属性 - &gt;目录安全 - &gt;编辑(在身份验证和访问控制中)。

(此路径适用于IIS6。)

默认情况下,IIS会为用户分配权限,这可能会导致您遇到问题。

相关问题