C# MVC在第一次访问站点时将用户广告信息保存到数据库中
我正在MVC中使用Windows身份验证。一旦用户第一次通过intranet访问网页,我想将用户的Active Directory guid和用户访问站点的日期戳存储到数据库中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
我知道如何从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());
}
}