Kri*_*Dey 13 membership asp.net logout
我目前正在使用Visual Studio 2010创建一个网站.我正在使用SQL Server 2008中的默认成员资格架构进行用户身份验证.现在我面临以下问题.
用户注销时,该用户的membership.IsOnline属性应设置为false.然而,它没有发生; 该用户的membership .IsOnline属性仍然是true.
我正在使用LoginStatus控件向用户提供注销链接.
即使在FormsAuthentication.SignOut()之后,我也试图关注User.IsOnline = true.但结果没什么.
Meh*_*hin 15
AFAIK,FormsAuthentication.SignOut与Membership系统没有直接关系.因此,您必须LastActivityDate如您在问题中提到的那样手动更新.并使用Membership.UserIsOnlineTimeWindow而不是-2.
来自MSDN
在调用GetNumberOfUsersOnline期间,将检查UserIsOnlineTimeWindow属性值.如果用户的LastActivityDate大于当前日期和时间减去UserIsOnlineTimeWindow值(以分钟为单位),则认为该用户在线.您可以使用MembershipUser类的IsOnline属性确定成员资格用户是否在线.
MembershipUser user = Membership.GetUser(false);
FormsAuthentication.SignOut();
user.LastActivityDate = DateTime.UtcNow.AddMinutes(-(Membership.UserIsOnlineTimeWindow + 1));
Membership.UpdateUser(user);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3912 次 |
| 最近记录: |