如何检查用户是否正确书写了用户名和密码?
问题描述:
我正在使用名为Scans.dbml的Linq-to-SQL类。如何检查用户是否正确书写了用户名和密码?
那堂课,我拖着一个表叫用户(用户名,密码,角色)到图形区域,现在我可以通过UserRepository类访问用户对象:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Scanner.Classes
{
public class UserRepository
{
private ScansDataContext db = new ScansDataContext();
public User getUser(string username)
{
return db.Users.SingleOrDefault(x => x.username == username);
}
public bool exists(string username)
{
}
}
}
现在在我的登录表单,我想用这个Linq-to-SQL的优点来完成所有与数据相关的活动。
UserRepository users = new UserRepository();
private void btnLogin_Click(object sender, EventArgs e)
{
loginToSystem();
}
private void loginToSystem()
{
if (users.getUser(txtUsername.Text))
{
}
//If txtUsername exists && User.password == Salt(txtPassword)
//then Show.MainForm() with User.accountType in constructor to set permissions.
}
- 我需要验证用户存在& &这是USERS.PASSWORD等于SALT(txtpassword.text)帮助。
请指导一下吗?
答
一般情况下:散列无论用户类型,并将其与存储的散列进行比较。但是,如果这是一个asp.net项目,我建议使用'SqlMembershipProvider';它可能会提供您需要的所有功能,而且您不必重新发明轮子。
这不是一个ASP.Net项目,当然我知道代码的伪逻辑。我无法使用实际的Linq-to-SQL方法。 – 2010-06-17 15:05:11
我不知道为什么这个答案在没有回答这个问题的时候被提升。 :S – 2010-06-17 15:23:26
@Sergio Tapia:你是如何散列原始密码的? – 2010-06-17 19:15:48