如何跟踪MVC3中用户的首次登录?

时间:2011-12-02 10:31:53

标签: asp.net-mvc-3 login notifications

我在ASP.NET MVC3中工作。当用户完成注册时,我想通知用户仅在第一个用户更改个人信息。我该怎么办?

3 个答案:

答案 0 :(得分:9)

您始终可以创建一个新变量来检查这是否是用户的首次登录,但该变量在首次登录后将变为未使用。

我假设你有UserLastLoggedin的DateTime变量或者这些行的东西?如果为null,则用户首次登录。

答案 1 :(得分:0)

有几种方法可以实现这一目标。您可以使用“个人档案”,或在数据库中创建一个表,如果他是第一次登录,您可以将userId与指示器一起存储。

假设您要使用配置文件:将此添加到web.config

<profile>
  <providers>
    <clear />
    <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
  </providers>
  <properties>
    <add name="EverLoggedOn" defaultValue="False" type="System.Boolean" />
  </properties>
</profile>

如果您使用的是默认的AccountController,请查看以下代码:

            if (Membership.ValidateUser(model.UserName, model.Password))
            {

                FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);

                if (Roles.IsUserInRole(model.UserName, "Administrator"))
                {
                    return RedirectToAction("Index", "ManageApp");
                }
                var userProfile = ProfileBase.Create(model.UserName);
                var FirstTime = userProfile.GetPropertyValue("EverLoggedOn");
// rest of the code is up to you :)

答案 2 :(得分:-1)

如果用户完成您的注册过程,您需要存储一个值,表明他尚未更改其个人信息。

这样的东西
isNewUser = true;