【发布时间】:2018-05-01 09:15:51
【问题描述】:
string currentUser;
string currentPassword;
string getUserName;
string getPassword;
getUserName = Convert.ToString(Session["UserName"]);
getPassword = Convert.ToString(Session["Password"]);
currentUser = Convert.ToString(txtUserNameLogIn.Text);
currentPassword = Convert.ToString(txtPasswordLogin.Text);
if ((currentUser == getUserName ) && (currentPassword == getPassword)) {
currentUser = Convert.ToString(Session["CurrentUser"]);
currentPassword = Convert.ToString(Session["CurrentPassword"]);
Response.Redirect("Home.aspx");
} else {
lblResult.Text = "Invalid Password";
}
我有 3 页。第一个用于注册,将用户名和密码保存为一个会话,然后我有登录页面,该页面应该获取用户名和密码会话并将它们与此页面上的当前用户输入进行比较。到目前为止,我没有收到任何回复。
编辑:我在上一页输入的用户名和密码存储在一个名为“UserName”的会话变量中,此人被重定向到登录页面,我只是想比较用户输入的内容与会话变量来自上一页,如果正确,则将该信息存储在新的会话变量中,并将用户重定向到主页。
【问题讨论】:
-
不要说得太细,我认为您不应该在会话中存储用户名和密码
-
首先,永远不要以任何形式以纯文本/明文形式保存用户密码。其次,不要像这样滥用会话。有很多好的身份验证和授权框架可供您免费使用并随时可用。做你的研究并使用其中一个,这样你的网站就不仅仅是另一个用户信息的宝库,准备被第一个遇到它的黑客利用。
-
这只是一个编程课程,我们只是在学习和理解它是如何工作的。
-
您的前 2 行从会话中检索数据,然后检查输入
current...是否等于该输入,然后您再次从会话中获取会话内容并设置您的current....(这对他们来说是平等的)再次对他们 - 为什么? -
这不是问题,而是陈述。您拥有的代码虽然奇怪且非最佳,但似乎可以正常工作,因此我只能建议提供更多上下文。
标签: c# asp.net .net session variables