希望你能帮上忙。
我们有一个web应用程序(Web2.0),它具有一些自定义代码,用于在上传文件时插入一个.NET服务。我们使用以下代码发出命令:
Dim serviceName As String = "Processor Service 1.0"
sc = New ServiceController(serviceName)
sc.ExecuteCommand(200)在一个独立的应用程序中运行这段代码很好,但是在运行网站时会抛出一个拒绝访问的错误。代码在IIS 6中运行良好。
我们正在与用户一起使用应用程序池,并且在Admin组中。我认为这与IIS有关,但现在可以肯定的是。
希望你们能帮忙。
谢谢
发布于 2015-06-29 14:02:00
与本地服务交互所需的权限相当高。您的asp.net应用程序可能以匿名(本地帐户IUSR)或“应用程序池标识”的形式运行。您应该在IIS (app池)中设置应用程序,以使用具有更大权限的不同帐户。
在IIS管理中,在"IIS“”身份验证“部分下,需要启用更强的身份验证方法。如果“匿名身份验证”是唯一启用的,那么请检查设置"Edit“以查看它是否以IUSR或”应用程序池标识“的形式运行。这是您确定或设置ASP.NET应用程序所使用的帐户(和权限集)的地方。
我认为我应该强烈警告您不要提高IIS和匿名用户的权限。这会给你的系统制造一个非常危险的后门。bgs264的建议是非常好的:创建一个单独的服务(或计划的进程)来监视文件上传,或者修改现有的服务以使用文件监视器监视上传的文件。它可以在更高的权限集下运行,并且将与IIS隔离得多。将管理权限授予IIS或其应用程序池,就像乞求麻烦。
https://stackoverflow.com/questions/31114607
复制相似问题