带有Windows身份验证的NLog WebService目标的HTTP错误401

时间:2017-06-29 13:30:46

标签: asp.net-web-api2 nlog windows-server-2012

使用NLog webservice目标
https://github.com/nlog/NLog/wiki/WebService-target

当目标api使用windows auth时,我得到401。

  发送到Webservice时出现

错误错误:ws异常:System.Net.WebException:远程服务器返回错误:(401)未经授权。

如果我允许匿名,那一切都有效

我试图在对记录步骤的调用中使用模拟。但是,上面的异常是在NLog内部日志文件中生成的(我将其打开)。

 if (user.ImpersonateValidUser())
 {
    try
    {
        Logger logger = LogManager.GetCurrentClassLogger();
        LogEntry l = new LogEntry() 
        { 
            AppName = "MyTestController", 
            LoggedOnDate = DateTime.Now, 
            LogMessage = "this is a test", 
            LogType = 1, 
            ServerName = "dev-test3" 
        };
        logger.Error(l);
    }
}

如何调用使用Windows身份验证的Web服务目标?

1 个答案:

答案 0 :(得分:1)

不幸的是,Webservice目标不支持身份验证。您可以使用LogReceiverService target,另请参阅How can I enable Security in LogReceiverService (NLog)