【问题标题】:Elmah: How to hide username?Elmah:如何隐藏用户名?
【发布时间】:2016-02-15 08:03:32
【问题描述】:

默认情况下,Elmah 显然将用户名记录为其日志条目的一部分。我们的客户认为这是明智的数据,并希望将其删除。如何做到这一点?

(顺便说一句:日志中还有“代码”字段。它总是空的。这个字段是什么意思?)

【问题讨论】:

    标签: asp.net-mvc-4 elmah.mvc


    【解决方案1】:

    将以下内容添加到 Global.asax:

    void ErrorLog_Filtering(object sender, ExceptionFilterEventArgs args)
    {
        var httpContext = args.Context as HttpContext;
        if (httpContext != null && httpContext.Request.User.Identity.IsAuthenticated)
        {
            var error = new Error(args.Exception, httpContext);
            error.User = "***hidden***";
            ErrorLog.GetDefault(httpContext).Log(error);
            args.Dismiss();
        }
    }
    

    改编自:http://docs.elmah.io/remove-sensitive-form-data/

    编辑

    为回答您的其他问题,“代码”字段应为 HTTP 状态代码:500、404 等。

    【讨论】:

    • 一个小评论:httpContext.Request.User 不存在。但是解决方案本身效果很好!但我仍然想知道为什么我的 Elmah 日志中的 Code 总是 0。如果是 HTTP 代码,它应该是不同的。
    猜你喜欢
    • 2015-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-23
    相关资源
    最近更新 更多