2009-10-05 17 views
7

我在使用Win7和IIS7的笔记本电脑上运行本地主机实例(因此域不是我的问题!)。我在我的网站和我的一个虚拟目录上收到身份验证错误。IIS7/Win7 - 确保应用程序池标识具有对物理路径的读取访问权

default website - localhost:80 c:\mydirectory\localhost 
virtual directory - c:\mydirectory\weborb30 

请注意这些不在c:\ inetpub \ wwwroot下!

现在,我做了一些googling/binging,发现我需要将我的[machinename $]添加到ACL。 (希望我说得对)。我做到了,尽管它是一个领域的事情。没有改变。我进一步阅读,IIS7现在使用ApplicationPoolIdentity,我试图在我的本地机器上找到 - 在那里没有运气。所以,我改变了App Pool在另一个内置帐户下运行。现在,我不仅得到认证错误,我不能再将AttachProcess附加到W3WP。

你是怎么做的正确设置VS2005,WIN7上的IIS7框在本地运行?

回答

6

在对应用程序池进行更改之前,您可能需要为“网络服务”帐户添加对您的物理目录的读访问权限(这是asp.net在vista & win7上使用的默认帐户) 。

我想你可能在这点上寻找的是:

aspnet_regiis -ga <useraccount> 

的-ga开关告诉ASPNET_REGIIS配置所有安全asp.net。通常,只需在应用程序中使用模拟时执行此操作,但如果要更改应用程序池的默认用户,则可以有效地执行IIS范围内的相同操作。

最好的完整documentation I've found is on MSDN。它适用于以前版本的IIS IIS 6,但在IIS 7环境中应用它非常容易

+0

谢谢。在我看到这件事之前,设法通过它。只是有一些与我正在通过WebOrb小问题。 WebOrb将创建临时目录,并且这些目录有时会弹出安全错误。 (叹气) – 2009-10-22 19:01:20

7

我遇到了类似的问题,最终通过给“IUSR”用户提供读取权限来修复它, “IIS_IUSRS”组。

我不太确定这是为什么起作用。当我认为它将包含在IIS_IUSRS组中时,似乎很奇怪需要为IUSR授予权限。我认为它的一部分与应用程序池运行的帐户有关(例如IIS 7.5/Windows 7中经典.NET应用程序池的“IIS AppPool \ Classic .NET AppPool”),但我仍然不清楚。

This StackOverflow问题似乎是相关的。

+0

疯狂.....我让团队成立了维权......就像你一样,必须给予IUSR明确的权利......疯狂!谢谢! – Jonesome 2014-05-30 00:49:35

0

只是尝试在这里重新启动IIS:IIS Location to restart和不使用IISRESET等

如果不行尝试添加它here,然后再重新启动(右击再并通过界面重新启动),然后将其恢复到正确的权限。以相同的方式再次重新启动。

我希望它能帮助我解决这个问题中的大多数bug ..

相关问题