我正在为学校制作项目。我在ASP.Net中编写了一个网站,我只是做了一个简单的登录系统。当用户输入电子邮件和密码时,我查询数据库并确保它们有效。ASP.NET登录后,其他连接都已登录
在这一点上,我想知道谁登录,所以我有一个名为User.cs的类来跟踪登录的人。
public class User
{
static public bool loggedIn = false;
static public int userType = -1;//1 = Agent, 2 = Buyer/Renter
static public int id = -1;//the id of the user
}
例如内部User.cs
,有一种叫做bool loggedIn
变量。在登录按钮点击后,我将它设置为true
,这样在Page_Load()
期间,我可以使登录/注册按钮在需要时不可见。我使用IIS部署了该网站,并通过从计算机登录进行测试,效果很好。然后我从另一台计算机上登录,并且从第一次登录时,我仍然以最后一位用户的身份登录。我退出后,我从所有其他计算机上退出,并从该计算机打开网站。
所以最后,我不知道如何做出正确的登录系统。
非常感谢您的回答。因此,当logIntButton_Click发生在logInPage.Master.cs中时,我创建了一个包含非静态变量的User对象,然后将此新的User对象实例放入Session中。在此loginButton_Click之后,我将用户重定向到HomePage.aspx。 HomePage.Master.cs的Page_Load()函数我需要访问会话并查看是否有登录用户,以便我可以决定显示“创建列表”按钮。但是现在会话必须是全局变量?这不会造成同样的问题吗? – 2013-03-20 19:56:11
@Yunus,根据定义,会话不是一个全局变量,它实际上是一个特殊的字典,当用户通过浏览器访问您的网站时,该会话在IIS上创建。该会话基于Cookie,IP地址和其他机制进行管理和加载。 – 2013-03-20 20:01:53
这很有趣,我不知道。我认为会议是我必须写的另一课。感谢您的帮助! – 2013-03-20 23:59:03