Как я могу проверить, правильно ли пользователь написал свое имя пользователя и пароль? - PullRequest
0 голосов
/ 17 июня 2010

Я использую класс Linq-to-SQL с именем Scans.dbml.

В этом классе я перетащил таблицу с именем Users (имя пользователя, пароль, роль) в графическую область, и теперь яможет получить доступ к объекту User через класс 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.
    }
  1. Мне нужна помощь в проверке того, что пользователь существует &&, что этот users.password равен SALT (txtpassword.text).

Любое руководство, пожалуйста?

1 Ответ

3 голосов
/ 17 июня 2010

В целом: хешируйте любой тип пользователя и сравнивайте его с сохраненным хешем.

Однако, если это проект asp.net, я бы рекомендовал использовать 'SqlMembershipProvider'; скорее всего, он предоставит все необходимые вам функции, и вам не придется заново изобретать колесо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...