C# MVC在第一次访问站点时将用户广告信息保存到数据库中

C# MVC在第一次访问站点时将用户广告信息保存到数据库中,c#,asp.net-mvc-4,C#,Asp.net Mvc 4,我正在MVC中使用Windows身份验证。一旦用户第一次通过intranet访问网页,我想将用户的Active Directory guid和用户访问站点的日期戳存储到数据库中 我知道如何从active directory获取用户信息。问题是我应该将该方法放在何处,以便只在用户的用户第一次访问站点时调用它,而不是在每个页面请求上调用它。我建议创建一个: 在/App_Start/FilterConfig.cs中,将其添加为全局筛选器: public class FilterConfig { p

我正在MVC中使用Windows身份验证。一旦用户第一次通过intranet访问网页,我想将用户的Active Directory guid和用户访问站点的日期戳存储到数据库中


我知道如何从active directory获取用户信息。问题是我应该将该方法放在何处,以便只在用户的用户第一次访问站点时调用它,而不是在每个页面请求上调用它。

我建议创建一个:

在/App_Start/FilterConfig.cs中,将其添加为全局筛选器:

public class FilterConfig
{
  public static void RegisterGlobalFilters(GlobalFilterCollection filters)
  {
    filters.Add(new ADUserActionFilterAttribute());
  }
}
在任何人的每次请求中,您都可以验证用户是否在数据库中(并可以选择更新他们上次使用网站的时间)

问题是我应该把这个方法放在哪里,这样它只在用户的用户第一次访问站点时调用,而不是在每个页面请求上调用


此逻辑在ASP.Net管道中本机不存在,因此您必须自己创建它。在某些时候,您必须转到数据库以查看该记录是否存在。

从active directory访问用户信息时是否存在性能问题?因为复制数据没有意义,所以如果active directory中的数据发生更改,会发生什么情况。您所做的似乎不是一个好主意。该应用程序仅由active directory中的部分用户使用。因此,一旦他们访问了它,我只想保存一条记录,说明以下用户已经访问了它。现在,您的问题和您的评论之间存在冲突信息。是否要
将用户的某些Active directory信息保存到数据库中
我只想保存一条记录,说明以下用户已访问该信息
?更具体地说,我想保存用户的Active directory guid,以及任何访问过该站点的用户的日期戳。您使用的是哪个版本的MVC?
public class FilterConfig
{
  public static void RegisterGlobalFilters(GlobalFilterCollection filters)
  {
    filters.Add(new ADUserActionFilterAttribute());
  }
}