是否可以在没有用户登录的情况下更改异常的用户
本文关键字:用户 情况下 异常 登录 是否 | 更新日期: 2023-09-27 18:19:38
我正在尝试将Elmah日志记录添加到Web服务中。用户通过身份验证以确认他们是有效用户,但他们从未真正登录。因此,当ELMAH抛出并记录错误时,用户名始终为空。能够以编程方式填充该值会很有帮助,但我似乎找不到任何方法来做到这一点。
我的代码很简单:
public static void Add(Exception ex)
{
try
{
ErrorSignal.FromCurrentContext().Raise(ex);
}
catch (Exception ex2)
{
throw ex2;
}
}
我似乎找不到在指定用户名的地方创建自定义异常的方法。
如果可以,我建议您以具有适当权限的模拟用户身份运行web服务。当然,这将取决于用户的身份验证方式,但这是一种选择。
以下是我们如何做到这一点(添加到web服务的web.config):
<identity impersonate="true" userName="registry:HKLM'Software'OurApp'ASPNET_SETREG,userName" password="registry:HKLM'Software'OurApp'ASPNET_SETREG,password"/>
我们使用aspnet_setreg实用程序在注册表中记录域用户名和密码,然后该用户负责所有数据库交互等。