Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/14: Рейтинг темы: голосов - 14, средняя оценка - 4.64
2 / 2 / 1
Регистрация: 27.10.2010
Сообщений: 32

Аутентификация

12.04.2011, 23:47. Показов 2643. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем добрый вечер! Пишу клиентское приложения к БД(SQL Server 2008 R2), необходимо проверить логин и пароль. В Sql server логины уже занесены. Как получить список логинов я знаю, а как сопоставить логин и пароль я не знаю.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 public bool GetAccess()
        {
            SqlConnectionStringBuilder bldr = new SqlConnectionStringBuilder();
            bldr.InitialCatalog = _dataBaseName;
            bldr.UserID = _userName;
            bldr.Password = _pass;
            bldr.DataSource = _serverName;
            bldr.IntegratedSecurity = true;
            SqlConnection conn = new SqlConnection(bldr.ConnectionString);
                try
                {
                    conn.Open();
                    return true;
                }
                catch (Exception)
                {
                    return false;
                }
           
        }
так все время подключается!

Заранее всем спасибо!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.04.2011, 23:47
Ответы с готовыми решениями:

Аутентификация в приложении
Доброе утро всем. Вопрос такой: Есть программа, которая имеет на форме DataGridView и выводит таблицу из базы данных. Мне нужно сделать...

Авторизация/аутентификация в приложении с БД MS SQL
Как можно более удобно сделать процесс авторизации с труднейшим способом ее взлома. Если писать в коде - код легко доступен - взлом легкий....

Аутентификация пользователя на основе алгоритма MD5
Где можно почитать информацию на русском языке по данной теме? Есть ли исходники у кого-нибудь (аутентификация, регистрация пользователя и...

4
burning1ife
 Аватар для kenny69
1466 / 1287 / 294
Регистрация: 21.09.2008
Сообщений: 3,438
Записей в блоге: 9
13.04.2011, 01:17
что за приложение? какая технология? если ASP.NET или ASP.NET MVC то там уже есть спец. библиотеки для этих случаев и примеров в и-нете куча...

если в общем случае просто сравнивай пароль для заданного логина с введенным... и кстати пароли как правило хранятся в БД хешированные, т.е. сравниваются не пароли а их хеши.
0
2 / 2 / 1
Регистрация: 27.10.2010
Сообщений: 32
14.04.2011, 21:28  [ТС]
Цитата Сообщение от kenny69 Посмотреть сообщение
что за приложение? какая технология?
ADO NET пишу "толстый" клиент.

Цитата Сообщение от kenny69 Посмотреть сообщение
кстати пароли как правило хранятся в БД хешированные, т.е. сравниваются не пароли а их хеши.
как получить хеш из базы данных? и как получить хеш из введенного пользователем пароля?
0
70 / 44 / 9
Регистрация: 10.08.2010
Сообщений: 140
15.04.2011, 12:22
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
private void CheckLogin()
        {
            //Выбираем из базы допустимые логины и пароли
            //Проверяем с веденными
            string query = "SELECT Pass" + Environment.NewLine;
            query += "FROM users;" + Environment.NewLine;
 
            DataTable dt = new DataTable();
            dt = _base.Query(query);
 
            string login = textBoxLogin.Text;
            string pass = maskedTextBoxPassword.Text;
            byte[] bytes = new byte[pass.Length];
            for (int i = 0; i < pass.Length; i++)
                bytes[i] = Convert.ToByte(pass[i]);
 
            //создаем объект для получения средст шифрования  
            MD5CryptoServiceProvider CSP = new MD5CryptoServiceProvider();  
            //вычисляем хеш-представление в байтах  
            byte[] byteHash = CSP.ComputeHash(bytes);
            string hash = string.Empty;  
   
            //формируем одну цельную строку из массива  
            foreach (byte b in byteHash)  
                hash += string.Format("{0:x2}", b);
            
            //Ищем соотвествующую строку в выбранной из базы таблице
            //При совпадении возвращаем ОК для работы с БД
            //Иначе NO для закрытия приложения
            string expression = "login = '" + login + "' " + "AND " + "pass = '" + hash + "'";
            DataRow[] foundRows;
            foundRows = dt.Select(expression);
            if (foundRows.Length == 1)
            {
                userInfo.userID = Convert.ToInt32(foundRows[0]["ID_User"]);
                DialogResult = System.Windows.Forms.DialogResult.OK;
            }
            else
            {
                if (attemptCount > 1)
                {
                    MessageBox.Show("Вы исчерпали попытки. Приложение будет закрыто.", "Ошибка ввода!",
                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                    DialogResult = System.Windows.Forms.DialogResult.No;
                }
                else
                {
                    MessageBox.Show("Не верный логин или пароль", "Ошибка ввода!",
                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                    attemptCount++;
                }
            }
        }
1
2 / 2 / 1
Регистрация: 27.10.2010
Сообщений: 32
22.04.2011, 18:52  [ТС]
Цитата Сообщение от Юрий АЛексеевич Посмотреть сообщение
string query = "SELECT Pass" + Environment.NewLine;
query += "FROM users;" + Environment.NewLine;
не понял, что это за запрос!


Цитата Сообщение от Юрий АЛексеевич Посмотреть сообщение
_base.
и не понял, какой это объект.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.04.2011, 18:52
Помогаю со студенческими работами здесь

SQL windows аутентификация вне домена
1) Есть SQL Server 2008 (установлен на ящике который в домене) аутентификация смешанная; 2) На SQL Server добавлен логин - группа домена...

Аутентификация пользователей в SQL Server 2005
Имеется БД в Sql Server 2005 и хочу написать приложение в Visual C#2010, как сделать аутентификацию в Visual C#2010 пользователей с...

аутентификация в C#Pl
Здравствуйте! Подскажите новичку пожалуйста как можно сделать или где почитать мануал. Задача какая: в C# есть форма1, в ней есть 2...

Аутентификация на сервере
Доброго времени суток. Я не самый опытный программист, а тем более тестировщик, но мне поручено автоматизировать тестирование одного...

Программная аутентификация на сайте
Доброго времени суток. Не могу понять как пройти аутентификацию на сайте. Пример дать не могу, доступ только с моего компа открыт. В чем...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru