Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Shading29
0 / 0 / 0
Регистрация: 21.12.2016
Сообщений: 29
1

Авторизация при подключении к БД

28.12.2016, 00:15. Просмотров 576. Ответов 14
Метки нет (Все метки)

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
            
            string MysqlData = @"server=;database=users;port=3306;user=;password=";
            string Query = "Select Count(*) From users where Username='" + LoginBox.Text + "' and Password = '" + Hashing(PasswordBox.Text) + "'";
            MySqlConnection Sql = new MySqlConnection(MysqlData);
            MySqlDataAdapter MDA = new MySqlDataAdapter(Query, Sql);
            DataTable Data = new DataTable();
            try
            {
                MDA.Fill(Data);
                if (Data.Rows[0][0].ToString() == "1")
                {
                    this.Hide();
                    // Показать что открывается после верно введенного Логина и Пароля
                }
                else
                {
                   ConnectInfoLabel.ForeColor = Color.Red;
                   ConnectInfoLabel.Text = "Логин или Пароль неверны";                
                }
            }
            catch(MySqlException MysqlError)
            {
                ConnectInfoLabel.Text = "Проблемма в подключении к БД";
                MessageBox.Show(MysqlError.Message);
            }
Так вообще можно оставить авторизацию или можно будет легко увести пароль? Если нет, то как правильно делать авторизацию в c# приложении через бд?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2016, 00:15
Ответы с готовыми решениями:

Ошибка при подключении к SQL базе данных при переносе программы
Я добавил базу данных SQL "*.mdf" к проекту. Если использовать параметры строки...

При неактивности программы минут 5 теряется соединение, и при подключении приходится сново долго ждать
Данные для подключения берутся из XML файла, которые подключен к проекту...

Ошибка при подключении.
Привет. что я делаю не так? мне нужно подключится к базе и загрузить ее в...

Ошибка при подключении к бд
Здравствуйте! Нужна ваша помощь! Проект создавался на другом пк, всё...

Ошибка при подключении
Добрый день, установил mssql, в mssql server management studio загрузил бекап...

14
insite2012
Модератор
Эксперт .NET
4873 / 3826 / 1096
Регистрация: 12.10.2013
Сообщений: 11,100
Записей в блоге: 2
28.12.2016, 05:59 2
Цитата Сообщение от Shading29 Посмотреть сообщение
можно будет легко увести пароль
Если вы его напрямую зашьете в приложение - то без проблем.
Цитата Сообщение от Shading29 Посмотреть сообщение
как правильно делать авторизацию в c# приложении через бд?
1. Запрашивать пароль у пользователя.
2. Создать распределенное приложение, чтобы пользователь не имел возможности напрямую обращаться к БД.
0
Shading29
0 / 0 / 0
Регистрация: 21.12.2016
Сообщений: 29
28.12.2016, 15:08  [ТС] 3
Цитата Сообщение от insite2012 Посмотреть сообщение
Если вы его напрямую зашьете в приложение - то без проблем.

1. Запрашивать пароль у пользователя.
2. Создать распределенное приложение, чтобы пользователь не имел возможности напрямую обращаться к БД.
Что значит распределенное приложение? Можно пример?
0
insite2012
Модератор
Эксперт .NET
4873 / 3826 / 1096
Регистрация: 12.10.2013
Сообщений: 11,100
Записей в блоге: 2
28.12.2016, 16:21 4
Цитата Сообщение от Shading29 Посмотреть сообщение
Что значит распределенное приложение?
Это когда основная часть программы (бизнес-логика) находится на сервере в сети (как и сама БД), а клиент общается с БД только посредством этой логики, и никак иначе.
Цитата Сообщение от Shading29 Посмотреть сообщение
Можно пример?
Если нужно - могу сделать))
0
Shading29
0 / 0 / 0
Регистрация: 21.12.2016
Сообщений: 29
28.12.2016, 21:53  [ТС] 5
Цитата Сообщение от insite2012 Посмотреть сообщение
Это когда основная часть программы (бизнес-логика) находится на сервере в сети (как и сама БД), а клиент общается с БД только посредством этой логики, и никак иначе.

Если нужно - могу сделать))
Если только бесплатно)
Мне нужен хотя бы простейший пример, чтобы я понимал с чем имею дело, да и вообще понять на чем и как пишется "серверная" часть и как с ней взаимодействует клиент
0
insite2012
Модератор
Эксперт .NET
4873 / 3826 / 1096
Регистрация: 12.10.2013
Сообщений: 11,100
Записей в блоге: 2
28.12.2016, 22:27 6
Цитата Сообщение от Shading29 Посмотреть сообщение
Если только бесплатно)
Естественно, тут как бы раздел бесплатной помощи, да и я не пишу примеры за деньги (пока, по крайней мере )
Если нужен пример-будет.
1
insite2012
Модератор
Эксперт .NET
4873 / 3826 / 1096
Регистрация: 12.10.2013
Сообщений: 11,100
Записей в блоге: 2
29.12.2016, 18:42 7
Цитата Сообщение от Shading29 Посмотреть сообщение
пример
В архиве самый простой пример. Там сама WCF служба (полностью рабочая, только с удаленной строкой соединения с БД) и клиент для нее. Клиент настроен для работы в сети, точно такая же служба сейчас размещена в интернете на тестовом хостинге. При запуске клиента он делает к ней запрос и выводит данные.
Как видите, в коде клиента нет вообще ничего, никакой логики работы с БД (и тем более строки соединения), все работает через серверную службу.
0
Вложения
Тип файла: rar Test.rar (56.2 Кб, 15 просмотров)
Shading29
0 / 0 / 0
Регистрация: 21.12.2016
Сообщений: 29
29.12.2016, 23:41  [ТС] 8
Цитата Сообщение от insite2012 Посмотреть сообщение
В архиве самый простой пример. Там сама WCF служба (полностью рабочая, только с удаленной строкой соединения с БД) и клиент для нее. Клиент настроен для работы в сети, точно такая же служба сейчас размещена в интернете на тестовом хостинге. При запуске клиента он делает к ней запрос и выводит данные.
Как видите, в коде клиента нет вообще ничего, никакой логики работы с БД (и тем более строки соединения), все работает через серверную службу.
А можно пример подключения к серверной части, если программа будет работать по интернету(Или какую-нибудь книжечку с этим материалом)? И где должен лежать сервер.
0
insite2012
Модератор
Эксперт .NET
4873 / 3826 / 1096
Регистрация: 12.10.2013
Сообщений: 11,100
Записей в блоге: 2
30.12.2016, 06:39 9
Цитата Сообщение от Shading29 Посмотреть сообщение
можно пример подключения к серверной части, если программа будет работать по интернету
Вот тот клиент, что в архиве и есть пример. Я же выше сказал, он работает через интернет. Вы его запускали, видели вывод данных? Откуда он их берет? Естественно, с сервера, который расположен в интернете.
Литература:
1. Создание служб WCF (Джувел Леве)
2. Основы Windows Communication Foundation для .NET Framework 3.5 (Стив Резник и др.)
0
Shading29
0 / 0 / 0
Регистрация: 21.12.2016
Сообщений: 29
30.12.2016, 11:53  [ТС] 10
Цитата Сообщение от insite2012 Посмотреть сообщение
Вот тот клиент, что в архиве и есть пример. Я же выше сказал, он работает через интернет. Вы его запускали, видели вывод данных? Откуда он их берет? Естественно, с сервера, который расположен в интернете.
Литература:
1. Создание служб WCF (Джувел Леве)
2. Основы Windows Communication Foundation для .NET Framework 3.5 (Стив Резник и др.)
Но там на сервере строка подключения даже пустая, и он откуда-то берет данные. Или я что-то не понимаю?
0
insite2012
Модератор
Эксперт .NET
4873 / 3826 / 1096
Регистрация: 12.10.2013
Сообщений: 11,100
Записей в блоге: 2
30.12.2016, 12:03 11
Цитата Сообщение от Shading29 Посмотреть сообщение
там на сервере строка подключения даже пустая, и он откуда-то берет данные.
Это образец сервера. Естественно, что строка пустая, не выложу же я в открытый доступ к арендованному мной хосту.
А реальный сервер (точно такой же, со строкой подключения к БД) сейчас в интернете, на арендованном хосте. И вот именно с ним клиент и работает.
Теперь понимаете?
0
Shading29
0 / 0 / 0
Регистрация: 21.12.2016
Сообщений: 29
30.12.2016, 12:07  [ТС] 12
Цитата Сообщение от insite2012 Посмотреть сообщение
Это образец сервера. Естественно, что строка пустая, не выложу же я в открытый доступ к арендованному мной хосту.
А реальный сервер (точно такой же, со строкой подключения к БД) сейчас в интернете, на арендованном хосте. И вот именно с ним клиент и работает.
Теперь понимаете?
Дак от куда тогда сервер берет данные, если он ни к чему не подключается?
0
insite2012
Модератор
Эксперт .NET
4873 / 3826 / 1096
Регистрация: 12.10.2013
Сообщений: 11,100
Записей в блоге: 2
30.12.2016, 12:14 13
Цитата Сообщение от Shading29 Посмотреть сообщение
от куда тогда сервер берет данные, если он ни к чему не подключается?
Я вроде бы довольно ясно выразил свою мысль...
Цитата Сообщение от Shading29 Посмотреть сообщение
реальный сервер (точно такой же, со строкой подключения к БД) сейчас в интернете, на арендованном хосте.
Из БД на хосте, естественно, берутся данные.
0
Shading29
0 / 0 / 0
Регистрация: 21.12.2016
Сообщений: 29
30.12.2016, 12:30  [ТС] 14
Цитата Сообщение от insite2012 Посмотреть сообщение
Это образец сервера. Естественно, что строка пустая, не выложу же я в открытый доступ к арендованному мной хосту.
А реальный сервер (точно такой же, со строкой подключения к БД) сейчас в интернете, на арендованном хосте. И вот именно с ним клиент и работает.
Теперь понимаете?
Адрес, где программа берет данные о том, где находится Service.svc на сервере находятся в АппКонфиге
C#
1
2
3
4
5
        <client>
            <endpoint address="http://srv108309.hoster-test.ru/Service.svc"
                binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IUserService"
                contract="localhost.IUserService" name="BasicHttpBinding_IUserService" />
        </client>
Вот что я хотел услышать, ибо не понимал, как программа вообще коннектится к вашему хосту.

Добавлено через 1 минуту
Цитата Сообщение от insite2012 Посмотреть сообщение
В архиве самый простой пример. Там сама WCF служба (полностью рабочая, только с удаленной строкой соединения с БД) и клиент для нее. Клиент настроен для работы в сети, точно такая же служба сейчас размещена в интернете на тестовом хостинге. При запуске клиента он делает к ней запрос и выводит данные.
Как видите, в коде клиента нет вообще ничего, никакой логики работы с БД (и тем более строки соединения), все работает через серверную службу.
Спасибо за пример
0
insite2012
Модератор
Эксперт .NET
4873 / 3826 / 1096
Регистрация: 12.10.2013
Сообщений: 11,100
Записей в блоге: 2
30.12.2016, 12:35 15
Цитата Сообщение от Shading29 Посмотреть сообщение
Адрес, где программа берет данные о том, где находится Service.svc на сервере находятся в АппКонфиге
Именно так.
0
30.12.2016, 12:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.12.2016, 12:35

Ошибка при подключении
Добрый день, имеется небольшой код: using MySql.Data.MySqlClient; ...

Ошибка при подключении к БД
Подскажите в чем может быть ошибка, установлен SQL Server на локальном компе,...

Смена IP при подключении
Есть сервер... с выделенными 2-3 IP адресами... как в C# можно сменить IP адрес...


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

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

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