我有c#mvc web应用程序。根据电子邮件和密码有简单的登录页面。现在我有这样的需求: 当用户登录系统时,同一电子邮件地址的所有活动会话都将注销。 我该如何做到这一点?MVC注销同一用户登录后的所有活动会话
1
A
回答
2
您可以使用Session.Abandon()
或Clear()
放弃当前会话,但如果有多人登录时使用的同一个地址,这不会解决这个问题。
你必须建立检测;例如,您可以更新代表您的用户的表上的标志,然后在其他用户的会话中定期检查表是否重新登录。或者当用户登录时,在数据库表中创建令牌截止日期;将该令牌与Cookie中的用户相关联。注销或重新登录时,可能会使与该电子邮件地址关联的令牌无效,并且每个用户在尝试访问应用程序时可能会被应用程序拒绝检查令牌是否已过期。
1
的Abandon
方法应该工作(MSDN):
Session.Abandon();
如果你想删除的会话中使用的特定项目(MSDN):
Session.Remove("YourItem");
如果你只是想清除你可以做的价值:
Session["YourItem"] = null;
如果你wan t清除所有键:
Session.Clear();
如果这些都不适合你,那么可怕的事情正在发生。我会检查以确定您分配值的位置,并确认清除值后它不会被重新分配。
简单的检查,做到:
Session["YourKey"] = "Test"; // creates the key
Session.Remove("YourKey"); // removes the key
bool gone = (Session["YourKey"] == null); // tests that the remove worked
相关问题
- 1. Rails.cache.clear正在注销所有登录用户(清除会话)
- 2. 注销的NodeJS所有用户会话
- 3. 自动注销其他登录会话
- 4. Rails - 列出所有活动的登录/用户会话?
- 5. 注销Facebook会话和启动登录活动
- 6. 用户注销后,会话超时再次登录asp
- 7. https会话登录/使用java注销
- 8. CakePHP的会话登录注销情况
- 9. 登录/注销会话的问题
- 10. Android:所有活动的登录和注销
- 11. 用户登录会话超时注销OOP登录/注册系统
- 12. 注销时注销所有活动
- 13. C#help !!会话自动注销后重新登录
- 14. 创建登录和注销会话
- 15. 登录和注销会话android
- 16. 登录,注销和会话行为
- 17. PHP会话登录和注销
- 18. PHP和会话登录和注销
- 19. PHP:登录和注销会话
- 20. 会话处理和登录/注销
- 21. Twitter4J登录/注销和会话细节
- 22. Java Servlet nullPointerException登录注销会话
- 23. 使用Spring跟踪用户登录和注销会话跟踪
- 24. Android - 注销所有活动
- 25. 如果在一个页面上登录,从所有页面注销用户mvc
- 26. SimpleMembership - 用户会话日志 - 登录注销历史
- 27. Active Directory用户登录和注销会话历史
- 28. 如何在mvc注销后获取用户登录ID
- 29. ZF3注销一些非活动会话后
- 30. Laravel - 会话数据生存注销/登录,甚至针对不同的用户