protected void btnLogin_Click(object sender, EventArgs e)
{
String strID = tbId.Text;
String strCompanyCode = tbCompanyCode.Text;
String strPassword = tbPassword.Text; Jsmstc.Model.BppManager model = bllBppManager.GetModel(strID, strCompanyCode);
if (model == null || strPassword != model.Password)
{
labMsg.Text = "用户不存在或密码错误";
return;
}
Session["Se_EnterpriseLogin"] = model; Server.Transfer("MainFunctionMenu.aspx");
}当用户登录成功后,Session["Se_EnterpriseLogin"] = model 这句代码将model对象赋给Session["Se_EnterpriseLogin"] ,当多个用户登录的时候,也是执行Session["Se_EnterpriseLogin"] = model 这句代码。
我的问题是:不同的用户登录成功后都把一个不同的model对象赋给Session["Se_EnterpriseLogin"],那么怎么知道哪个用户的信息是什么?是怎么区别各个用户的?当第2个用户登录的时候,也会执行Session["Se_EnterpriseLogin"] = model 这行代码,那这会不会改变Session["Se_EnterpriseLogin"] 的值,第一个登录的用户的session会不会消失呢?还有,session是不是只存储在服务器上啊?请高手详细解释一下执行过程!谢谢!
{
String strID = tbId.Text;
String strCompanyCode = tbCompanyCode.Text;
String strPassword = tbPassword.Text; Jsmstc.Model.BppManager model = bllBppManager.GetModel(strID, strCompanyCode);
if (model == null || strPassword != model.Password)
{
labMsg.Text = "用户不存在或密码错误";
return;
}
Session["Se_EnterpriseLogin"] = model; Server.Transfer("MainFunctionMenu.aspx");
}当用户登录成功后,Session["Se_EnterpriseLogin"] = model 这句代码将model对象赋给Session["Se_EnterpriseLogin"] ,当多个用户登录的时候,也是执行Session["Se_EnterpriseLogin"] = model 这句代码。
我的问题是:不同的用户登录成功后都把一个不同的model对象赋给Session["Se_EnterpriseLogin"],那么怎么知道哪个用户的信息是什么?是怎么区别各个用户的?当第2个用户登录的时候,也会执行Session["Se_EnterpriseLogin"] = model 这行代码,那这会不会改变Session["Se_EnterpriseLogin"] 的值,第一个登录的用户的session会不会消失呢?还有,session是不是只存储在服务器上啊?请高手详细解释一下执行过程!谢谢!
各个用户见的session不受影响,如果想实现你的操作,
可以用数据表来记录,其中sessionid作为一个登陆用户的唯一主键
asp.net下,默认时,是采用cookie来保存sessionid。sessionid是随机产生的,一个浏览器访问你的网站后,自动产生。
例子:
用户A是管理员,登陆后使得:
Session["rank"]="admin"
B是普通用户
Session["rank"]="member"。在任何一个页面,我们可以通过
if(session["rank"]=="admin")
{
}来判断是否是管理员。
Session["Se_EnterpriseLogin"] = model; 如果要区别它们的话,那么这些存在于服务器端的session的名字应该不同才能区别。
那么他们的名字是怎么产生的呢?非常感谢!!!
asp.net下,默认时,是采用cookie来保存sessionid。sessionid是随机产生的,一个浏览器访问你的网站后,自动产生。