如何检查用户是否正确写入了用户名和密码?

时间:2010-06-17 14:59:54

标签: c# linq-to-sql passwords

我正在使用名为Scans.dbml的Linq-to-SQL类。

在那个课程中,我将一个名为Users(用户名,密码,角色)的表拖到图形区域,现在我可以通过UserRepository类访问User对象了:

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.
    }
  1. 我需要帮助验证用户是否存在&& users.password等于SALT(txtpassword.text)。
  2. 请问任何指导?

1 个答案:

答案 0 :(得分:3)

通常:散列任何用户类型并将其与存储的散列进行比较。

但是,如果这是一个asp.net项目,我建议使用'SqlMembershipProvider';它可能会提供您需要的所有功能,您无需重新发明轮子。