gpt4 book ai didi

asp.net 多个用户?

转载 作者:行者123 更新时间:2023-12-02 18:24:12 27 4
gpt4 key购买 nike

我有一个 asp.net c# Web 应用程序,用户可以登录并查看他上周的日程安排,该日程安排存储在远程数据库中。登录站点仅包含 SQL 检查,以查看用户名和密码是否与数据库中的 uname 和 pass 记录匹配。登录后,他们可以操作时间表的时间条目等。在调试时,我以两个不同的用户身份登录。用户 B 的表单上有用户 A 的所有内容。我编写该程序就像编写常规 C# 应用程序一样,并没有真正考虑多个人同时使用该网站。我想我认为实例处理是自动的?我只使用了 asp.net 一周左右的时间,并且没有太多支持。

我的主要问题是,如果我的网站上同时有多个用户,我如何保持他们的 session 分开?

<小时/>

更新 - 添加 session 变量后

这是我获取用户信息的sql语句。现在,使用 session 变量:

string sqlquery = "SELECT FirstName, LastName, OperatorID FROM operators WHERE EmpID = '" + sql + "'";
using (MySqlConnection conn = new MySqlConnection(ConfigurationManager.ConnectionStrings["EobrConnectionString"].ConnectionString))
{
conn.Open();
using (MySqlCommand comm = new MySqlCommand(sqlquery, conn))
{
using (MySqlDataAdapter adapter = new MySqlDataAdapter(comm))
{
DataTable dt = new DataTable();
adapter.Fill(dt);
foreach (DataRow dr in dt.Rows)
{
Session["Fname"] = dr[1].ToString();
Session["Lname"] = dr[2].ToString();
Session["opID"] = dr[3].ToString();
}
}
}
}

在主菜单页面中我有这个:

protected void Page_Load(object sender, EventArgs e)
{
firstname = Session["Fname"].ToString();
lastname = Session["Lname"].ToString();
lblwelcome.Text = "Welcome, " + firstname + " " + lastname + ", make your selection below.";
}

当用户 A 登录时,他们会看到自己的名字“Frank Drebbin”。当用户 B 登录时,他们会看到自己的名字“Jake Gaston”。但现在,如果我重新加载第一个用户页面,他们会看到该名称为“Jake Gaston”。

最佳答案

您需要使用单独的浏览器。您正在使用 session 来识别用户,并且 session 与浏览器中的 cookie 相匹配根据您上面的评论,发生的情况如下

以 steve 身份登录 -> 创建 session -> steve 作为用户名存储 -> 返回浏览器的 cookie

在新窗口中,以 Frank 身份登录 -> session 已存在,将用户名重命名为 Frank。

在第一个窗口刷新中。 -> session 用户名 no Frank -> 根据该用户名返回数据。

新的 IE 窗口都共享相同的上下文。这意味着如果 1 个窗口获得了 cookie,那么它们都会获得。有 2 种方法可以解决这个问题(实际上是 3 种)。

  • 使用物理上不同的机器
  • 使用 2 个浏览器,例如 IE 和 Firefox
  • 在 IE 中,按 Alt 键打开菜单,然后从文件菜单中单击“新建 session ”。这会创建一个物理上独立的窗口,不会共享 cookie(尽管没有任何信息向您表明这一点)

完成上述操作后,再次尝试以 Steve 和 Frank 身份登录,您应该会看到他们不会互相干扰。

关于asp.net 多个用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10724330/

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