【发布时间】:2013-10-11 14:50:53
【问题描述】:
大家好,我有一个大学项目,我正在编写一个登录屏幕,我的教科书太模糊了,如果用户名不在数据库中,我不知道如何显示消息框。这是我的代码:
public void login()
{
//try
//{
var tbl = from s in this.database1DataSet.employee
where s.Username == userNameBox.Text
select s;
foreach (var s in tbl)
{
if (s.Username == userNameBox.Text && s.Password == passwordBox.Text)
{
MessageBox.Show("Access granted welcome " + s.fName);
this.Close();
}
else
{
MessageBox.Show("Access denied invalid login details");
}
}
//}
/*catch (SyntaxErrorException)
{
MessageBox.Show("User Does not exist");
}*/`enter code here`
【问题讨论】:
-
不要以纯文本形式存储密码。
-
那么,什么不起作用?
-
@SLaks,这通常是正确的,但这可能不一定是他的任务的要求
-
通常,您希望为“不存在”的用户和“获取错误凭据”的用户提供相同的消息。这样做的原因是有人可以通过检查“用户不存在”或“无效登录凭据”来发现和推断另一个人的用户名。
-
我同意我们只用 C# 编写代码 2 个月,所以我认为密集的安全性不属于范围。我只需要它登录或告诉我用户不存在