1

当用户从我的 mvc 应用程序注销时,我必须恢复我的登录 ID 文本框,但是在注销操作中,我正在执行 FormAuthentication.Signout() 然后 session.clear() 和 session.abandon() 所以当我注销时我无法获取刚刚注销的用户登录ID ..当他注销时如何获取该用户登录ID?

4

2 回答 2

2

您应该将登录信息保存在其他地方,例如 cookie。甚至可能在初始登录期间(不是在注销时)。

因此,当用户登录时 - 您将 id 保存到一些具有“长期”持久性(可能是几个月)的 cookie 中,但不以任何逻辑使用此 cookie。

如果“稍后”您呈现未经身份验证的页面 - 您可以检查 cookie 并将 cookie 内容写入登录框。

于 2013-10-21T13:09:12.513 回答
1

如果您只需要用户 ID 在用户注销后显示登录视图,只需在删除会话之前获取 ID 并注销即可。

然后,将其放入 TempData:

TempData["LastUserId"] = theId;

然后,您可以重定向到登录操作...在登录操作中,您可以访问从 TempData 检索它的用户 ID:

var userId;
if(TempData["LastUserId"] != null){ //if the user is coming directly to login, it will be null.
 userId = TempData["LastUserId"];
}
于 2013-10-25T12:43:17.017 回答