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