Windows Server 2008 上的安全设置丢失

Windows Server 2008 上的安全设置丢失

我在 Windows Server 2008 上的 IIS7 上运行 ASP.NET MVC Web 应用程序。为了允许将我的日志文件写入应用程序目录(在 \WebSites 下),我已授予该文件夹的 DefaultAppPool 写权限。

一切正常,直到大约一天后,我的日志文件不再显示在应用程序目录中。我检查了权限,仍然看到 DefaultAppPool 允许写入。我重新部署了网站并再次更新了安全设置,我的日志文件又可以写入了。

其他人会觉得这很奇怪吗?我需要做些什么才能使这些安全设置生效?

谢谢!

答案1

如果应用程序尝试写入目录,但没有正确的权限,则会引发异常。如果您捕获了该异常但没有采取任何措施,那么您将无法确定问题所在(并且您可能需要考虑让该异常冒泡)。

但是,如果您的应用程序在尝试写入日志时死机,您可能能够从事件查看器中挖掘一些信息。加载事件查看器时,转到 Windows 日志/应用程序,然后查找来源为 ASP.NET XX(其中 XX 是您的版本)的事件。

除此之外,您可能想确保没有其他人更改权限。

答案2

我找到了问题所在。DefaultAppPool 可以在我使用的日志包 (NLog) 中创建文件,只需要Write权限,但后来(我猜想当它在一天结束时尝试滚动日志时)它Modify也需要权限。一旦我Modify向 DefaultAppPool 添加权限,一切就都好了。

相关内容