MVC4简单成员身份何时自动登录

本文关键字:登录 何时自 身份 简单 成员 MVC4 | 更新日期: 2023-09-27 18:22:08

我有一个使用MVC4 Simple Membership提供程序的应用程序。我在Login方法中添加了一些代码,用于设置一些会话信息,以便处理一些安全问题。

如果我关闭浏览器并返回到它,MVC仍然会在左上角显示我已登录,以及User。Username属性仍然填写完毕,但我在其中添加的额外内容显然没有。

这种"身份验证"在何时何地进行?我尝试在Global.asax的Application_Start中检查请求和用户对象,但运行时它们仍然为空。

在身份验证管道中,是否还有其他地方可以覆盖或调用我的方法来提取我需要的更合适的东西?

谢谢!

MVC4简单成员身份何时自动登录

"记住我"功能与简单成员身份或任何成员身份无关。使用它时不会发生实际的"登录"。它是一个放置在用户系统上的持久cookie,在加载页面时读取该cookie。如果它包含正确加密的数据,则认为用户已通过身份验证,而无需再次进行成员身份验证。

你需要做什么取决于你的操作方式。如果你在会话中存储数据,这无论如何都是糟糕的,因为会话可以随时重置,并且会话没有连接到身份验证。你需要做的是检查你需要的数据是否在会话中,如果不在,则重建它。这样,当你稍后回来时,或者你的会话是否重置时,它就会工作。

会话可能无论如何都不应该使用,因为它不能很好地扩展。一个更好的选择是挂接Controller类的OnAuthorization方法,并在那里执行您需要的操作,这样就可以在每个页面请求上执行,而不管会话可能是什么或可能不是什么。

另一个选项是创建自定义AuthorizationFilter。