Форум программистов, компьютерный форум CyberForum.ru

C# и базы данных, ADO.NET

Войти
Регистрация
Восстановить пароль
 
Shading29
0 / 0 / 0
Регистрация: 21.12.2016
Сообщений: 24
#1

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

28.12.2016, 00:15. Просмотров 387. Ответов 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# приложении через бд?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2016, 00:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос MySQL Авторизация при подключении к БД (C#):

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

При неактивности программы минут 5 теряется соединение, и при подключении приходится сново долго ждать - C#
Данные для подключения берутся из XML файла, которые подключен к проекту public void LoadDocuments() { ...

MySQL Ошибка при подключении - C#
Добрый день, имеется небольшой код: using MySql.Data.MySqlClient; public static string mysqlServer = "5.***.130.***"; ...

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

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

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

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

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

Если нужно - могу сделать))
Если только бесплатно)
Мне нужен хотя бы простейший пример, чтобы я понимал с чем имею дело, да и вообще понять на чем и как пишется "серверная" часть и как с ней взаимодействует клиент
insite2012
Модератор
Эксперт .NET
4395 / 3344 / 816
Регистрация: 12.10.2013
Сообщений: 9,910
Записей в блоге: 2
28.12.2016, 22:27 #6
Цитата Сообщение от Shading29 Посмотреть сообщение
Если только бесплатно)
Естественно, тут как бы раздел бесплатной помощи, да и я не пишу примеры за деньги (пока, по крайней мере )
Если нужен пример-будет.
insite2012
Модератор
Эксперт .NET
4395 / 3344 / 816
Регистрация: 12.10.2013
Сообщений: 9,910
Записей в блоге: 2
29.12.2016, 18:42 #7
Цитата Сообщение от Shading29 Посмотреть сообщение
пример
В архиве самый простой пример. Там сама WCF служба (полностью рабочая, только с удаленной строкой соединения с БД) и клиент для нее. Клиент настроен для работы в сети, точно такая же служба сейчас размещена в интернете на тестовом хостинге. При запуске клиента он делает к ней запрос и выводит данные.
Как видите, в коде клиента нет вообще ничего, никакой логики работы с БД (и тем более строки соединения), все работает через серверную службу.
Вложения
Тип файла: rar Test.rar (56.2 Кб, 9 просмотров)
Shading29
0 / 0 / 0
Регистрация: 21.12.2016
Сообщений: 24
29.12.2016, 23:41  [ТС] #8
Цитата Сообщение от insite2012 Посмотреть сообщение
В архиве самый простой пример. Там сама WCF служба (полностью рабочая, только с удаленной строкой соединения с БД) и клиент для нее. Клиент настроен для работы в сети, точно такая же служба сейчас размещена в интернете на тестовом хостинге. При запуске клиента он делает к ней запрос и выводит данные.
Как видите, в коде клиента нет вообще ничего, никакой логики работы с БД (и тем более строки соединения), все работает через серверную службу.
А можно пример подключения к серверной части, если программа будет работать по интернету(Или какую-нибудь книжечку с этим материалом)? И где должен лежать сервер.
insite2012
Модератор
Эксперт .NET
4395 / 3344 / 816
Регистрация: 12.10.2013
Сообщений: 9,910
Записей в блоге: 2
30.12.2016, 06:39 #9
Цитата Сообщение от Shading29 Посмотреть сообщение
можно пример подключения к серверной части, если программа будет работать по интернету
Вот тот клиент, что в архиве и есть пример. Я же выше сказал, он работает через интернет. Вы его запускали, видели вывод данных? Откуда он их берет? Естественно, с сервера, который расположен в интернете.
Литература:
1. Создание служб WCF (Джувел Леве)
2. Основы Windows Communication Foundation для .NET Framework 3.5 (Стив Резник и др.)
Shading29
0 / 0 / 0
Регистрация: 21.12.2016
Сообщений: 24
30.12.2016, 11:53  [ТС] #10
Цитата Сообщение от insite2012 Посмотреть сообщение
Вот тот клиент, что в архиве и есть пример. Я же выше сказал, он работает через интернет. Вы его запускали, видели вывод данных? Откуда он их берет? Естественно, с сервера, который расположен в интернете.
Литература:
1. Создание служб WCF (Джувел Леве)
2. Основы Windows Communication Foundation для .NET Framework 3.5 (Стив Резник и др.)
Но там на сервере строка подключения даже пустая, и он откуда-то берет данные. Или я что-то не понимаю?
insite2012
Модератор
Эксперт .NET
4395 / 3344 / 816
Регистрация: 12.10.2013
Сообщений: 9,910
Записей в блоге: 2
30.12.2016, 12:03 #11
Цитата Сообщение от Shading29 Посмотреть сообщение
там на сервере строка подключения даже пустая, и он откуда-то берет данные.
Это образец сервера. Естественно, что строка пустая, не выложу же я в открытый доступ к арендованному мной хосту.
А реальный сервер (точно такой же, со строкой подключения к БД) сейчас в интернете, на арендованном хосте. И вот именно с ним клиент и работает.
Теперь понимаете?
Shading29
0 / 0 / 0
Регистрация: 21.12.2016
Сообщений: 24
30.12.2016, 12:07  [ТС] #12
Цитата Сообщение от insite2012 Посмотреть сообщение
Это образец сервера. Естественно, что строка пустая, не выложу же я в открытый доступ к арендованному мной хосту.
А реальный сервер (точно такой же, со строкой подключения к БД) сейчас в интернете, на арендованном хосте. И вот именно с ним клиент и работает.
Теперь понимаете?
Дак от куда тогда сервер берет данные, если он ни к чему не подключается?
insite2012
Модератор
Эксперт .NET
4395 / 3344 / 816
Регистрация: 12.10.2013
Сообщений: 9,910
Записей в блоге: 2
30.12.2016, 12:14 #13
Цитата Сообщение от Shading29 Посмотреть сообщение
от куда тогда сервер берет данные, если он ни к чему не подключается?
Я вроде бы довольно ясно выразил свою мысль...
Цитата Сообщение от Shading29 Посмотреть сообщение
реальный сервер (точно такой же, со строкой подключения к БД) сейчас в интернете, на арендованном хосте.
Из БД на хосте, естественно, берутся данные.
Shading29
0 / 0 / 0
Регистрация: 21.12.2016
Сообщений: 24
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 служба (полностью рабочая, только с удаленной строкой соединения с БД) и клиент для нее. Клиент настроен для работы в сети, точно такая же служба сейчас размещена в интернете на тестовом хостинге. При запуске клиента он делает к ней запрос и выводит данные.
Как видите, в коде клиента нет вообще ничего, никакой логики работы с БД (и тем более строки соединения), все работает через серверную службу.
Спасибо за пример
insite2012
Модератор
Эксперт .NET
4395 / 3344 / 816
Регистрация: 12.10.2013
Сообщений: 9,910
Записей в блоге: 2
30.12.2016, 12:35 #15
Цитата Сообщение от Shading29 Посмотреть сообщение
Адрес, где программа берет данные о том, где находится Service.svc на сервере находятся в АппКонфиге
Именно так.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.12.2016, 12:35
Привет! Вот еще темы с ответами:

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

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

Форма не отвечает при подключении БД - C#
Программа компилируется, и выдает форму, но когда нажимаю на кнопочки..дальше проблемка! Помогите решить в чем проблема? Заранее благодарен!

MS SQL Исключение InvalidOperationException при подключении - C#
Ошибка An unhandled exception of type 'System.InvalidOperationException' occurred in System.Data.dll, указывает на connect.open(), что ни...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
30.12.2016, 12:35
Ответ Создать тему
Опции темы

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