安全性异常:不允许所请求的注册表访问权 EventLog

简介: 症状使用 ASP.NET 在事件日志中创建一个新的事件源时,您可能会收到下面的错误信息:System.Security.SecurityException:Requested registry access is not allowed. 原因默认情况下,ASP.NET 工作进程的用户令牌是 ASPNET(或者,对于 Internet 信息服务 [IIS] 6.0 上运行的应用程序是 NetworkService)。

症状
使用 ASP.NET 在事件日志中创建一个新的事件源时,您可能会收到下面的错误信息:
System.Security.SecurityException:Requested registry access is not allowed.

原因
默认情况下,ASP.NET 工作进程的用户令牌是 ASPNET(或者,对于 Internet 信息服务 [IIS] 6.0 上运行的应用程序是 NetworkService)。由于您的帐户不具有创建事件源的正确用户权限,会出现“症状”部分中的问题。

临时救急的办法:
我们有一个神奇的解决办法,是houxy找到的“IIS虚拟目录的匿名访问选择框点掉再选中”大法:
首先,不让该站点虚拟目录启用匿名访问,这样在本机管理员身份下访问你的web应用,因为你当前的身份应该拥有对注册表的权限,所以肯定能做Enterprise Library要做的事情。然后,再让虚拟目录启用匿名访问,再次访问Web应用,一切恢复正常,不再报告“System.Security.SecurityException: 不允许所请求的注册表访问权。”了。
也可以把"IIS虚拟目录匿名访问"中的匿名帐户修改成具有这种权限的帐户,如管理员即把IUSR_PYT改成Administrator

 

目录
相关文章
|
Windows
Windows应急响应-异常资源
端口 检查端口连接情况,是否有远程连接、可疑连接。 检查方法 1. 使用`netstat -ano` 命令查看目前的网络连接,定位可疑的 ESTABLISHED 2. 根据 netstat 命令定位出的 PID 编号,再通过 tasklist 命令进行进程定位 `tasklist | findstr "PID"`
114 0
|
XML 数据安全/隐私保护 数据格式