使用 Membership 时获取用户的最后登录时间
在用户登录的过程中会更新数据库中的最后登录时间,因此如果想获取用户的最后登录时间必须在 ASP.NET framework 的登录进程更新之前获取它。
有一种快速且简单的方法获取这个时间,那就是处理 Login 控件的 Authenticate 事件。
页面代码如下:
<asp:Login ID="Login1" runat="server"
OnAuthenticate="Login1_Authenticate"
VisibleWhenLoggedIn="False">
</asp:Login>
OnAuthenticate="Login1_Authenticate"
VisibleWhenLoggedIn="False">
</asp:Login>
cs文件中编写如下内容:
protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
{
Login login = (Login)sender;
MembershipUser user = Membership.GetUser(login.UserName);
DateTime dtLastLogin = user.LastLoginDate;
// Attempt to validate user -- if success then
// set the authenticated flag so that the framework
// knows to allow the user access
if (Membership.ValidateUser(login.UserName, login.Password))
{
Session["LastLoginDate"] = dtLastLogin;
e.Authenticated = true;
}
}
{
Login login = (Login)sender;
MembershipUser user = Membership.GetUser(login.UserName);
DateTime dtLastLogin = user.LastLoginDate;
// Attempt to validate user -- if success then
// set the authenticated flag so that the framework
// knows to allow the user access
if (Membership.ValidateUser(login.UserName, login.Password))
{
Session["LastLoginDate"] = dtLastLogin;
e.Authenticated = true;
}
}
posted on 2006-10-27 15:05 Easy Company 阅读(773) 评论(0) 编辑 收藏 举报