Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2014, 11:56   #1
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
Радость Авторизация из БД MySql

Здравствуйте! Имеется вопрос при написании процесса авторизации из БД.

Здесь описываю процесс авторизации из одной таблицы autorization.
Код:
  private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                string myConnection = "Server=localhost;Database=bd1;Uid=root;Pwd=87052754341;";
                MySqlConnection myConn = new MySqlConnection(myConnection);
                MySqlCommand selectCommand = new MySqlCommand("SELECT * FROM autorization WHERE login='"+textBox1.Text+"' and pass='"+textBox2.Text+"'" , myConn);
                MySqlDataReader reader;
                myConn.Open();
                MessageBox.Show("con");
                reader = selectCommand.ExecuteReader();
                int count = 0;
                while (reader.Read())
                {
                    count = count + 1;
                }

                if (count == 1)
                {
                    MessageBox.Show("Логин и пароль верные");
                    Добро_сотрудник fr = new Добро_сотрудник();
                    this.Visible = false;
                    fr.Visible = true;
                }
                else
                {
                    MessageBox.Show("Логин и пароль неверные");
                }

                myConn.Close();

            }
Все работает. Но теперь появилась идея чтобы при авторизации, если ты сотрудник, то авторизуешься и переходишь на форму "сотрудники", а если ты администратор, то переходишь на форму "Администратор".
Имеется еще и таблица autorization_employee.
Помогите осуществить идею
Diana528 вне форума Ответить с цитированием
Старый 04.12.2014, 12:55   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Цитата:
Сообщение от Diana528 Посмотреть сообщение
чтобы при авторизации, если ты сотрудник, то авторизуешься и переходишь на форму "сотрудники", а если ты администратор, то переходишь на форму "Администратор".
При успешной авторизации сделайте перенаправление.
Не по теме.
Цитата:
Сообщение от Diana528 Посмотреть сообщение
Все работает.
Работать-то оно может и работает, но уровень безопасности никакой.
Цитата:
Сообщение от Diana528 Посмотреть сообщение
Код:
Добро_сотрудник fr = new Добро_сотрудник();
C#, конечно, поддерживает национальные шрифты в идентификаторах. Однако их использование, увы, всё равно нежелательно.
Streletz вне форума Ответить с цитированием
Старый 04.12.2014, 13:34   #3
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
По умолчанию

А как можно обеспечить уровень безопасности?
Diana528 вне форума Ответить с цитированием
Старый 04.12.2014, 14:59   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
как можно обеспечить уровень безопасности?
Запрашивать пароль и логин у пользователя вместо того чтоб вписывать их в код программы.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.12.2014, 15:18   #5
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Запрашивать пароль и логин у пользователя вместо того чтоб вписывать их в код программы.
Так у меня итак в таком виде, пароли и логины в базе данных.

Мне все же не понятно как сделать то, что я хотела изначально
Diana528 вне форума Ответить с цитированием
Старый 04.12.2014, 15:33   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Код:
                {
                    MessageBox.Show("Логин и пароль верные");
                    Добро_сотрудник fr = new Добро_сотрудник();
                    this.Visible = false;
                    fr.Visible = true;
                }
А чего вы тут сделать пытаетесь? fr же уничтожится после выхода из этого блока (}).

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

И раз уж тут безопасность упоменали
Цитата:
Код:
"SELECT ... WHERE login='"+textBox1.Text  ...
Почитайте про SQL инъекции и не делайте так нигде. Используйте prepared statement.
http://en.wikipedia.org/wiki/Prepare...t#C.23_ADO.NET



А насчет самого вопроса, какой-то он слишком общий. Ну добавьте в БД какое-нибудь поле для определения типа пользователя и показывайте нужную форму (if else).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 04.12.2014 в 21:25.
Alex11223 вне форума Ответить с цитированием
Старый 04.12.2014, 15:42   #7
Diana528
Форумчанин
 
Регистрация: 13.02.2013
Сообщений: 221
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
А чего вы тут сделать пытаетесь? fr же уничтожится после выхода из этого блока (}).
Знаю, затупила)) Не судите строго, это учебная версия и я только учусь

Последний раз редактировалось Diana528; 04.12.2014 в 16:15.
Diana528 вне форума Ответить с цитированием
Старый 04.12.2014, 18:55   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
Так у меня итак в таком виде, пароли и логины в базе данных.
А я не о них.
Я вот об этом:
Цитата:
Uid=root;Pwd=87052754341;
Каждому пользователю свою роль. И свой Uid с паролем соответственно. Именно это и повысит безопасность.

А вот кстати хранить пароли в БД отдельной таблицей (да еще небось и не хеши) чрезвычайно понижает защиту. Сам так ломал множество серьезных программ с такими системами хранения паролей.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Авторизация MySQL Rockot БД в Delphi 3 06.08.2014 19:15
Авторизация с использованием MySQL Xlook БД в Delphi 1 24.05.2014 06:43
Авторизация php+mysql kuba1981 PHP 9 02.09.2012 22:15
Обычная авторизация или авторизация на уровне браузера? calugin Безопасность, Шифрование 0 13.01.2011 00:34
Регистрация/авторизация пользователей при помощи PHP, без использования MySQL. Web-Gangsta PHP 30 03.05.2009 18:32