C# ASP.NETMVC-识别返回用户的最佳方法

C# ASP.NETMVC-识别返回用户的最佳方法,c#,asp.net-mvc,.net-3.5,C#,Asp.net Mvc,.net 3.5,我正在使用asp.NETMVC开发一个电子商务应用程序 用户成功登录系统后,应用程序将从数据库中提取其他数据(收藏夹、订单历史记录、未完成的购物车等) 如果用户使用“记住我”选项,最好的方法是什么 我正在考虑检查用户是否经过身份验证,并且母版页上是否已经加载了其他数据,但这似乎不是最好的解决方案。我有一个用户类,它将所有这些位收集在一起 在会话启动时,我检查身份验证,创建身份验证,填充身份验证,并将其存储在会话变量中。然后,您可以随意访问它(我还创建了一个Globals静态类,该类从会话和应用程

我正在使用asp.NETMVC开发一个电子商务应用程序

用户成功登录系统后,应用程序将从数据库中提取其他数据(收藏夹、订单历史记录、未完成的购物车等)

如果用户使用“记住我”选项,最好的方法是什么


我正在考虑检查用户是否经过身份验证,并且母版页上是否已经加载了其他数据,但这似乎不是最好的解决方案。

我有一个用户类,它将所有这些位收集在一起

在会话启动时,我检查身份验证,创建身份验证,填充身份验证,并将其存储在会话变量中。然后,您可以随意访问它(我还创建了一个Globals静态类,该类从会话和应用程序变量获取/强制转换对象。)或者,您可以在每次页面加载时这样做

以上内容负责返回的用户。但您还必须记住在登录时创建它,并在注销时(从帐户控制器)销毁它

另外,我建议您考虑一下究竟需要以这种方式存储什么。session变量非常适合缓存这些数据,但我不知道是否需要缓存订单历史记录。这通常只是偶尔访问。事实上,即使您选择不将类放在会话中,并在每次页面加载时创建它,获取订单历史记录也似乎有些过火。(无论哪种方式,您都在浪费资源——将其存储在缓存中或频繁收集。)


James

我有一个用户类,它将所有这些位收集在一起

在会话启动时,我检查身份验证,创建身份验证,填充身份验证,并将其存储在会话变量中。然后,您可以随意访问它(我还创建了一个Globals静态类,该类从会话和应用程序变量获取/强制转换对象。)或者,您可以在每次页面加载时这样做

以上内容负责返回的用户。但您还必须记住在登录时创建它,并在注销时(从帐户控制器)销毁它

另外,我建议您考虑一下究竟需要以这种方式存储什么。session变量非常适合缓存这些数据,但我不知道是否需要缓存订单历史记录。这通常只是偶尔访问。事实上,即使您选择不将类放在会话中,并在每次页面加载时创建它,获取订单历史记录也似乎有些过火。(无论哪种方式,您都在浪费资源——将其存储在缓存中或频繁收集。)


James

我有一个轻量级用户类,我在登录操作时将其存储在会话中,在注销时将其删除。订单历史记录不存储在那里,而是按需提取。你能提供更多关于如何检查身份验证的详细信息吗?哦。假设您没有做任何疯狂的事情(比如滚动您自己的身份验证),请检查HttpContext.Current.User.Identity.IsAuthenticated。您还可以从Identity.Name中获取用户名。我有一个轻量级用户类,我在登录操作时将其存储在会话中,在注销时将其删除。订单历史记录不存储在那里,而是按需提取。你能提供更多关于如何检查身份验证的详细信息吗?哦。假设您没有做任何疯狂的事情(比如滚动您自己的身份验证),请检查HttpContext.Current.User.Identity.IsAuthenticated。您还可以从Identity.Name获取用户名。