相关疑难解决方法(0)

写入事件日志时出现System.Security.SecurityException

我正在努力尝试将ASP.NET应用程序从Server 2003(和IIS6)移植到Server 2008(IIS7).

当我尝试访问浏览器上的页面时,我得到了这个:

'/'应用程序中的服务器错误.

安全例外

说明:应用程序尝试执行安全策略不允许的操作.要授予此应用程序所需的权限,请与您的系统管理员联系或在配置文件中更改应用程序的信任级别.

异常详细信息:System.Security.SecurityException:找不到源,但无法搜索部分或全部事件日志.无法访问的日志:安全性

来源错误:

在执行当前Web请求期间生成了未处理的异常.可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息.

堆栈跟踪:

[SecurityException:找不到源,但无法搜索部分或全部事件日志.无法访问的日志:安全.]

System.Diagnostics.EventLog.FindSourceRegistration(String source,String machineName,Boolean readOnly)+562 System.Diagnostics.EventLog.SourceExists(String source,String machineName)+251

[剪断]

这些是我为尝试解决它而做的事情:

  1. 授予"Everyone"对密钥的完全访问权限HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security.这很有效.但我自然不能在生产中这样做.所以我在运行应用程序几分钟后删除了"Everyone"权限,错误重新出现.

  2. 我在应用程序日志和安全日志中创建了源代码(我通过regedit对其进行了验证)在安装期间使用提升的权限,但错误仍然存​​在.

  3. 我在应用程序中给了应用程序一个完整的信任级别web.config(并使用appcmd.exe),但无济于事.

有没有人能够了解这里可以做些什么?

PS:这是对这个问题的跟进.我按照给出的答案但没有用(见上面的#2).

windows asp.net iis-7 exception-handling event-log

186
推荐指数
10
解决办法
29万
查看次数

IIS8中的IIS_IUSRS和IUSR权限

我刚刚从Win2003上的IIS6迁移到Win2012上的IIS8,用于托管ASP.NET应用程序.

在我的应用程序的一个特定文件夹中,我需要创建和删除文件.将文件复制到新服务器后,当我尝试删除文件时,我一直看到以下错误:

访问路径'D:\ WebSites\myapp.co.uk\companydata\filename.pdf'被拒绝.

当我检查IIS时,我看到应用程序在DefaultAppPool帐户下运行,但是,我从未在此文件夹上设置Windows权限以包含IIS AppPool\DefaultAppPool

相反,为了停止尖叫客户,我在该文件夹上授予了以下权限:

IUSR

  • 阅读并执行
  • 列出文件夹内容
  • 读
  • 写

IIS_IUSRS

  • 修改
  • 阅读并执行
  • 列出文件夹内容
  • 读
  • 写

这似乎有效,但我担心已经设置了太多的权限.我在网上阅读了有关IUSR是否真的需要的相互矛盾的信息.任何人都可以澄清哪些用户/权限足以创建和删除此文件夹上的文档吗?此外,IUSR是IIS_IUSRS组的一部分吗?

更新和解决方案

请参阅下面的答案.我不得不遗憾地做到这一点,因为最近的一些建议没有经过深思熟虑,甚至是安全的(IMO).

iis permissions asp.net-4.5 iis-8 windows-server-2012

134
推荐指数
4
解决办法
35万
查看次数