Как отследить первый логин пользователя в MVC3? - PullRequest
1 голос
/ 02 декабря 2011

Я работаю в ASP.NET MVC3. Когда пользователь завершает регистрацию, я хочу уведомить пользователя об изменении личной информации только при первом входе. Как я могу это сделать?

Ответы [ 3 ]

9 голосов
/ 02 декабря 2011

Вы всегда можете создать новую переменную, чтобы проверить, является ли это первым логином пользователя, но эта переменная станет неиспользованной после первого логина.

Я полагаю, у вас есть переменная DateTime для UserLastLoggedin или что-то в этом роде? Если это значение равно null, то пользователь входит в систему впервые.

0 голосов
/ 02 декабря 2011

Есть несколько способов сделать это.Вы можете использовать профили или создать таблицу в своей базе данных, где вы можете хранить 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 :)
0 голосов
/ 02 декабря 2011

Если пользователь завершает процесс регистрации, вам нужно сохранить значение, которое указывает, что он еще не изменил свою личную информацию.

Что-то вроде

isNewUser = true;
...