gpt4 book ai didi

c# - 在 asp.net mvc 4 应用程序中的身份验证中使用 session 变量

转载 作者:行者123 更新时间:2023-11-30 12:09:36 25 4
gpt4 key购买 nike

我有一个 asp.net mvc4 应用程序,其中我有这个类:

public class Internaute {
public int Id { get; set; }
public string Name { get; set; }
public string Login { get; set; }
public string Password { get; set; }
}

然后,当用户连接时,我通过将其存储在 session 变量中来获取其信息,如下所示:

Session["user"] = myInternaute;

我使用了这些信息,例如,像这样:

@{
Internaute myInternaute = (Internaute)Session["user"];
string login = myInternaute.Login;
string pwd = myInternaute.Password;
}

我测试用户访问权限

Internaute myInternaute = (Internaute)Session["user"];
if(myInternaute == null) return RedirectToAction("Index");

所以我有这些问题:

  1. 这是通过 session 变量进行处理的好方法吗?
  2. 是否有其他想法可以做到这一点,因为 session 丢失了。
  3. 这个想法有什么优势吗?

谢谢,

最佳答案

Is it a good way to proceed by a session variable?

是的,您的代码看起来不错,只是您应该在每次从 Session 获取值时检查是否为 null 以确保它不为 null。另外,你真的需要在 session 中存储密码吗?将其作为字符串存储在 Session 中不是一个好主意。

Is there another idea to do this, because the session were lost.

如果我正确理解您的问题,是的,您的 session 数据将在 session 超时时丢失。如果需要,您可以在 web.config 文件中增加 session 超时。

Does this idea have some advantages?

您将在 Session 中随时获得有关用户的一些基本数据,而不是查询数据库,但您应该确保 Internaute 类保持轻量级。

关于c# - 在 asp.net mvc 4 应用程序中的身份验证中使用 session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21103849/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com