Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
Bretbas
Каждому свое
521 / 207 / 81
Регистрация: 05.08.2013
Сообщений: 1,611
Завершенные тесты: 2
1

Аутентификация в приложении

08.11.2015, 05:35. Просмотров 2591. Ответов 31
Метки нет (Все метки)

Доброе утро всем. Вопрос такой:
Есть программа, которая имеет на форме DataGridView и выводит таблицу из базы данных. Мне нужно сделать так, чтобы доступ к просмотру этих данных был по логина и паролю. Как сделать стандартную аунтефикацию входа в программу? А то я пишу вручную все...то есть делаю два TextBox'a, проверяю введенные данные ну и т.д
Можно как нибудь сделать такой доступ средствами microsoft server? Если да, то как? Или дайте линки на литературу по этой теме. Спасибки)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.11.2015, 05:35
Ответы с готовыми решениями:

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

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

Аутентификация
Всем добрый вечер! Пишу клиентское приложения к БД(SQL Server 2008 R2), необходимо проверить логин...

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

Аутентификация vk с использованием кукисов
Догадываюсь, что это где то на форуме есть, но я не нашёл(((( Авторизация на сайте вконтакте при...

31
Bretbas
Каждому свое
521 / 207 / 81
Регистрация: 05.08.2013
Сообщений: 1,611
Завершенные тесты: 2
06.12.2015, 02:19  [ТС] 2
вопрос до сих пор в силе. поможет кто?)
0
ioane
59 / 59 / 54
Регистрация: 19.02.2012
Сообщений: 257
06.12.2015, 13:09 3
можно установить логин и пароль для доступа к бд, сделать форму с вводом логина и пароля и дописывать их
в connection string и генерить исключение, если данные не подходят
0
Bretbas
Каждому свое
521 / 207 / 81
Регистрация: 05.08.2013
Сообщений: 1,611
Завершенные тесты: 2
06.12.2015, 23:20  [ТС] 4
а как поставить логин и пароль для доступа к БД?
0
06.12.2015, 23:20
Volrajas
Заблокирован
06.12.2015, 23:35 5
Цитата Сообщение от Bretbas Посмотреть сообщение
а как поставить логин и пароль для доступа к БД?
логин никак, разве что в этой же бд логины и хранить, а пароль прописывается в ConnectionString ("pwd = 123")
0
Stat67
1 / 1 / 2
Регистрация: 27.03.2015
Сообщений: 37
07.12.2015, 13:01 6
Попробуйте, что-нибудь такое

SqlConnection Con = new SqlConnection("Data Source=serverName;Initial Catalog=baseName;Integrated Security=false;User ID=loginSQL;Password=passSQL");

Но предлагать вводить пароль на базу данных - небезопасно.
Логин и пароль пользователя лучше хранить в отдельной таблице SQL, и делать SQL запрос к этой таблице для проверки.
0
Volrajas
Заблокирован
07.12.2015, 13:32 7
Цитата Сообщение от Stat67 Посмотреть сообщение
Логин и пароль пользователя лучше хранить в отдельной таблице SQL, и делать SQL запрос к этой таблице для проверки.
только не храните пароль в открытом виде, лучше уж тогда хранить хэш пароля, даже если на бд будет дополнительно установлен пароль
0
Stat67
1 / 1 / 2
Регистрация: 27.03.2015
Сообщений: 37
07.12.2015, 13:52 8
Volrajas , согласен.

Нет, случайно, под рукой кода работы с хешем паролей?
0
Volrajas
Заблокирован
07.12.2015, 14:10 9
Цитата Сообщение от Stat67 Посмотреть сообщение
Нет, случайно, под рукой кода работы с хешем паролей?
недавно как раз делал курсач с базой данных и там тоже хранил логины и хэши паролей
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography;
 
// Класс помогает работать с MD5 хэшем.
public static class MD5Helper
{
    private static MD5 md5 = MD5.Create();
 
    // Функция возвращает хэш переданной строки.
    public static string GetHash(string input)
    {
        var data = Encoding.Unicode.GetBytes(input);
        data = md5.ComputeHash(data);
        var result = new StringBuilder();
 
        foreach (var b in data)
            result.Append(b.ToString("x2"));
 
        return result.ToString();
    }
 
    // Функция сравнивает переданные строку и хэш.
    public static bool CompareWithHash(string input, string hash)
    {
        var inputHash = GetHash(input);
        return inputHash.Equals(hash, StringComparison.InvariantCultureIgnoreCase);
    }
}
2
Bretbas
Каждому свое
521 / 207 / 81
Регистрация: 05.08.2013
Сообщений: 1,611
Завершенные тесты: 2
08.12.2015, 22:15  [ТС] 10
разве логин и пароль хранить в отдельной таблице БД это безопасно? Грубо говоря в своей программе все понятно-вначале я буду посылать sql запрос на проверку введенных данных в textBox'ы и сравнивать их с данными из БД. Но если злоумышленник откроет VS и подсоединиться к этой БД, то он может посмотреть логин и пароль админа...
как же быть в таком случае?
0
Volrajas
Заблокирован
09.12.2015, 09:56 11
Bretbas, для того и существуют хэши, насколько я знаю чисто теоретически хэш абсолютно необратим, из него нельзя извлечь исходный пароль
0
Stat67
1 / 1 / 2
Регистрация: 27.03.2015
Сообщений: 37
09.12.2015, 14:41 12
Bretbas, С этого момента по подробней, как кто-то сможет соединиться с вашей базой данной через VS.

Пароль соединения с БД зашит в коде вашего сайта, а у пользователей пароли - не пароли к БД, а некие строки в таблицах БД, которые на управление базой данных прав не имеют.

И клиентские пароли в чистом виде ни куда не передаются, так как проверка пользователя проходит на сервере так как мы сейчас в разделе c# .Net ))) Вот если были бы в javascript ... тогда не могу сказать - не эксперт.

А хеширование, как я понимаю, это уже очередная линия обороны, на случай если все-таки завладеют базой, то все равно не смогут посмотреть пароли клиентов. Или, как вариант, спрятать пароли клиентов от администраторов баз данных.
0
Bretbas
Каждому свое
521 / 207 / 81
Регистрация: 05.08.2013
Сообщений: 1,611
Завершенные тесты: 2
09.12.2015, 23:14  [ТС] 13
как мне это осуществить?)
0
Stat67
1 / 1 / 2
Регистрация: 27.03.2015
Сообщений: 37
10.12.2015, 09:11 14
Алгоритм вижу следующий:
- запрашиваете логин и пароль пользователя,
- сравниваете с базой (напрямую или через хеш)
- если доступ ему полагается, делаете запрос в базу за данными (ваша DataGridView)
- если не полагается - ни чего делать не надо (либо кнопки для открытия DataGridView делаете disable, либо по кнопкам сообщение о недостаточных полномочиях вместо данных).
0
Bretbas
Каждому свое
521 / 207 / 81
Регистрация: 05.08.2013
Сообщений: 1,611
Завершенные тесты: 2
10.12.2015, 23:18  [ТС] 15
я не могу понять все равно. вот у меня есть программа которая обращается к базе данных. База находится в одном папке с прогой. Так я же могу запустить VS, и присоединиться к этой базе данных, и посмотреть все данные из таблиц?
0
Stat67
1 / 1 / 2
Регистрация: 27.03.2015
Сообщений: 37
11.12.2015, 10:52 16
Bretbas, тогда уточним ситуацию, веб-приложение или декстоп, сетевое или офлановое.

Если база закрыта паролем, то физический доступ к базе ни чего не даст злоумышленнику.
Ваше приложение соденияется с такой базой паролем, который больше ни кому не известен.
Пользователь в приложении использует пароль, который не является паролем к базе, а является одной из записей в базе.
0
Bretbas
Каждому свое
521 / 207 / 81
Регистрация: 05.08.2013
Сообщений: 1,611
Завершенные тесты: 2
12.12.2015, 02:23  [ТС] 17
прога оффлайновая. ну и почему же я не могу присоединиться к базе через VS?
0
Stat67
1 / 1 / 2
Регистрация: 27.03.2015
Сообщений: 37
12.12.2015, 17:31 18
Bretbas, база какого типа? на базе пароль доступа установлен?
0
Bretbas
Каждому свое
521 / 207 / 81
Регистрация: 05.08.2013
Сообщений: 1,611
Завершенные тесты: 2
13.12.2015, 00:57  [ТС] 19
нет никакого пароля! где он ставиться хоть?)
0
Stat67
1 / 1 / 2
Регистрация: 27.03.2015
Сообщений: 37
13.12.2015, 10:45 20
Какая у вас база?
0
13.12.2015, 10:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.12.2015, 10:45

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

Аутентификация доменных пользователей
Добрый день! Есть программа, которая нормально работает. Смысл: пользователь запускает ехе-шник,...

Авторизация и аутентификация в WPF
Посоветуйте литературу, где почитать как реализовать авторизацию и аутентификацию в приложении WPF....


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru