Как разработать форму входа в систему C # .net - PullRequest
2 голосов
/ 09 сентября 2010

Подскажите, пожалуйста, как собрать форму Windows для входа в систему (не ASP.net).Этот логин должен проверяться не только методом аутентификации Windows, но и пользователем базы данных.

Как проверять имя пользователя и пароль.Я использовал этот тип запроса для него

SELECT COUNT(*) FROM [Table Name] WHERE UserName = @username AND Password = @password;

Если счетчик доступен пользователю> 0 Над частью ручки указан код стороны.

using int x = Int32.Parse(commandObject.ExecuteScalar().ToString());
if(x > 0}
    **log**
else
    **fail**

Как мне сделать это профессиональнои правильный путь?

Ответы [ 4 ]

2 голосов
/ 09 сентября 2010

Поскольку у вас уже есть SQL, все, что вам нужно, это базовая форма, в форме входа нет ничего особенного, кроме того, что вы скрываете пароль, вы можете сделать это с помощью свойства TextBox.PasswordChar .

0 голосов
/ 09 сентября 2010

Просто мысль ... Получите ваш логин в качестве первого экрана, который посещает ваш пользователь. Если они пройдут, то покажите основную форму приложения и скройте логин. Если они терпят неудачу, просто покажите сообщение с указанием этого. Это не похоже на веб-приложения, где пользователь может ввести URL-адрес и попытаться перейти на любую страницу, на которую он хочет. У вас есть полный контроль:)

0 голосов
/ 09 сентября 2010

«Профессиональный и правильный путь»

Это может зависеть от того, что делает ваше приложение, разрешаете ли вы просматривать какой-либо контент или первое, что вам нужно - это войти в систему?

Если да:

  • Создать форму окна с вашим экраном входа в систему
  • при нажатии кнопки «Войти», проверьте sql так, как вы хотите
  • если все в порядке, закройте это окно и сделайте form.Show() главное окно вашего приложения
  • , просто дайте вескую причину, по которой вы не позволяете пользователю продолжить

если проверка подлинности Windows, вам нужно проверить, может ли этот пользователь Windows получить к нему доступ, выполнить ту же процедуру, но вы, например, действовали на formLogin.Active, и запросить учетные данные, если этот пользователь Windows не является действительным пользователем, и выполнить вышеописанный процесс снова..

Например, SuperOffice CRM 6 Приложение для Windows, имеет такую ​​форму входа:

alt text http://www.balexandre.com/temp/2010-09-09_1557.png

Надеюсь, это поможетчтобы получить представление.

Если вы спрашивали о код наly , тогда у вас уже есть хорошие ответы.

0 голосов
/ 09 сентября 2010

Что вы подразумеваете под «аутентификацией Windows»?Вы можете прочитать зарегистрированного пользователя из среды и предварительно заполнить текстовое поле пользователя этим значением.

tbUserName = Environment.UserName;

После того, как пользователь введет свой пароль, ваша настройка диктует, что делать.Хешируется ли база данных паролей (MD5, SHA1) или дословно?Если да, то хэшируйте введенный пароль - или не делайте, если это не так.

Вы можете использовать эти две строки для выбора объектов из вашего источника данных, используя технологию по вашему предпочтению (например, ADO.Net).Если результаты не возвращаются, логин был ошибочным.Помните: таким образом вы не сможете определить, были ли неверны пароль, пользователь или оба.

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