如何查找用户是否第一次登录 - C#

时间:2013-03-26 08:28:51

标签: c# asp.net

方案是,如果用户使用他的一次性密码登录了第一个密码,则应该重定向到ResetPassword.aspx

如果用户不是新用户,则应该重定向到Main.aspx页面。

我应该使用IsPostBack还是Membership.ValidateUser

我们通常如何在C#中编码来检查它是否是新用户(使用首次登录)?

我是编程的新手,没有在网上获得足够的信息。请帮忙

2 个答案:

答案 0 :(得分:3)

IsPostBack检查无法帮助您满足您的需求。您需要通过数据库维护它。

IsPostBack Gets a value that indicates whether the page is being rendered 
for the first time or is being loaded in response to a postback.

它与页面帖子有关,而与数据库或用户或逻辑无关:)

为了帮助您完成逻辑,您需要维护一个单独的列,以确定用户是否第一次来。

一个简单的逻辑:

在您的表中创建一个列,LastLoginDate使其可以为空。注册用户时,请将此字段保留为NULL。

当用户登录时,只需检查LastLoginDate是否为NULL,即

   if(userObj.LastLoginDate == null)
   {
        //user has come for the first time
        //code to update the LastLoginDate to DateTime.Now
        Redirect("resetPassword.aspx");
   } 
   else 
   {
       //code to update the LastLoginDate to DateTime.Now
       Redirect("home.aspx");
   }

答案 1 :(得分:1)

Membership.ValidateUser检查他/她是否未获批准或是否提供了错误的凭据。

对于此问题,请在创建新用户时在数据库中设置一些标记。

当用户登录时,请检查其标志。

如果它指示新用户,则将其重定向到resetpassword页面。

只需在重定向后更改标记状态,以便下次不会将其指示为新用户。