Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 获取MVC的ActionExecutedContext上的用户名?_Asp.net Mvc_Logging_Action Filter_Actionfilterattribute_Actioncontext - Fatal编程技术网

Asp.net mvc 获取MVC的ActionExecutedContext上的用户名?

Asp.net mvc 获取MVC的ActionExecutedContext上的用户名?,asp.net-mvc,logging,action-filter,actionfilterattribute,actioncontext,Asp.net Mvc,Logging,Action Filter,Actionfilterattribute,Actioncontext,如何在MVC中获取当前登录用户的名称?我尝试了以下代码,我可以得到日期和方法名,但不能得到用户名 public void OnActionExecuted(ActionExecutedContext filterContext) { AcibademUniversitesiDBEntities model = new AcibademUniversitesiDBEntities(); Logging logbilgi = new Logging(); logbilgi.

如何在MVC中获取当前登录用户的名称?我尝试了以下代码,我可以得到日期和方法名,但不能得到用户名

public void OnActionExecuted(ActionExecutedContext filterContext)
{
    AcibademUniversitesiDBEntities model = new AcibademUniversitesiDBEntities();
    Logging logbilgi = new Logging();

    logbilgi.date= DateTime.Now.ToString();
    logbilgi.Method = filterContext.ActionDescriptor.ActionName;
    logbilgi.text= filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
    //logbilgi.user= filterContext.RequestContext.HttpContext.User.Identity.Name;
    //logbilgi.user= filterContext.HttpContext.User.Identity.Name;
    logbilgi.user= HttpContext.Current.User.Identity.Name;
    model.Logging.Add(logbilgi);
    model.SaveChanges();
}

public void OnActionExecuting(ActionExecutingContext filterContext)
{
    AcibademUniversitesiDBEntities model = new AcibademUniversitesiDBEntities();
    Logging logbilgi = new Logging();

    logbilgi.date= DateTime.Now.ToString();
    logbilgi.Method = filterContext.ActionDescriptor.ActionName;
    logbilgi.text= filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
    //logbilgi.user= filterContext.RequestContext.HttpContext.User.Identity.Name;
    //logbilgi.user= filterContext.HttpContext.User.Identity.Name;
    logbilgi.user= HttpContext.Current.User.Identity.Name;
    model.Logging.Add(logbilgi);
    model.SaveChanges();
}

在Web.config中的system.Web中,是否有类似的内容

<authentication mode="Windows" />

这是一个不太可能的选择,但是你能试试这个吗

logbilgi.user = filterContext.HttpContext.Current.User.Identity.Name;
是,我添加了“”,但用户返回null