Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 14.10.2019
Сообщений: 28
MS SQL

Авторизация с ограничениями прав доступа

13.02.2020, 07:55. Показов 576. Ответов 0

Студворк — интернет-сервис помощи студентам
Есть таблица, где расположены поля: ФИО, Тип пользователя, Логин и Пароль.
А также форма гость и администратор.
Как сделать так, чтобы при вводе логина и пароля, система проверяла есть ли такой логин и пароль. Если да, то должна определить тип пользователя.
Если гость, то открывается форма гостя, если администратор, то на администратора.


Сделал проверку логина и пароля, но как переходить на разные формы не могу
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
namespace Проект
{
    public partial class Авторизация : Form
    {
        public Авторизация()
        {
            InitializeComponent();
        }
 
        private void pictureBox1_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
          
            }
 
 
 
        private void Авторизация_Load_1(object sender, EventArgs e)
        {
            comboBox1.Items.Add("Пользователь");
            comboBox1.Items.Add("Админ");
        }
 
        private void pictureBox4_Click(object sender, EventArgs e)
        {
            OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=E:БД.accdb");
            OleDbDataAdapter da = new OleDbDataAdapter("select * from Пользователи", con);
            //OleDbDataAdapter da = new OleDbDataAdapter("Select count (*) From Пользователи where Логин = '" + textBox1.Text + "' and Пароль = '" + textBox2.Text + "' and Роль = '"+comboBox1.Text+"'", con);
            DataTable dt = new DataTable();
            da.Fill(dt);
            Boolean flag1 = false;
            for (int i = 0; i < dt.Rows.Count; i++)
 
                if ((dt.Rows[i]["Логин"].ToString() == textBox1.Text)) flag1 = true;
            if (flag1 == true)
            {
                Boolean flag2 = false;
                for (int g = 0; g < dt.Rows.Count; g++)
                    if ((dt.Rows[g]["Пароль"].ToString() == textBox2.Text)) flag2 = true;
                if (flag2 == false)
                {
                    if (textBox2.Text == "")
                        MessageBox.Show("Пустой пароль");
                    else
                        MessageBox.Show("Неверый пароль");
                }
                if (flag2 == true)
                {
                    Boolean flag3 = false;
                    for (int a = 0; a < dt.Rows.Count; a++)
                        if ((dt.Rows[a]["Роль"].ToString() == comboBox1.Text)) flag3 = true;
                    if (flag3 == false)
                    {
                        if (comboBox1.Text == "")
                            MessageBox.Show("Пустая роль");
                        else
                            MessageBox.Show("Неверый роль");
                    }
                    if (flag3 == true)
                    {
                        Boolean flag = false;
                        for (int i = 0; i < dt.Rows.Count; i++)
                            for (int g = 0; g < dt.Rows.Count; g++)
                                for (int a = 0; a < dt.Rows.Count; a++)
                                    if ((dt.Rows[i]["Логин"].ToString() == textBox1.Text) && (dt.Rows[g]["Пароль"].ToString() == textBox2.Text) && (dt.Rows[a]["Роль"].ToString() == comboBox1.Text)) flag = true;
                        if (flag == true) 
                        {
                            this.Hide();
                            Главная_форма fr4 = new Главная_форма();
                            fr4.Show();
                        }
                    }
                }
            }
            else
            if ((textBox1.Text == "") & (textBox2.Text == ""))
                MessageBox.Show("Пустой логин и пароль");
            else
            if (textBox1.Text == "")
                MessageBox.Show("Пустой логин");
            else
            if (textBox2.Text == "")
                MessageBox.Show("Пустой пароль");
 
            else MessageBox.Show("Пересоздайте пользователя! Такого пользователя не существует.");
        }
    }
    }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.02.2020, 07:55
Ответы с готовыми решениями:

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

Точка доступа wifi с ограничениями
Здравствуйте! Подскажите такой момент, как настроить точку доступа, что бы она раздавала Интернет, но без доступа к сети компании (офиса)...

Авторизация с разделением прав
Здравствуйте. Передо мной стоит задание сделать авторизацию с разделением прав(должен блокировать некоторые элементы кнопочной формы)....

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.02.2020, 07:55
Помогаю со студенческими работами здесь

Авторизация разделения прав
Доброго всем вечера &quot;Новым годом 2018&quot; не могу разобраться в коде запутался почти работает но кривовато нужно сделать так при...

Авторизация и метод распределения прав
Доброго времени суток. Делаю макет формы авторизации. Появились вопросы : Где хранить данные пользователей? делема между...

Нарушение прав доступа
Подскажите пожалуйста! Я создала пользователей системы, определила им роли, которые прописаны в бизнес процессе. При входе в систему я могу...

Ошибка прав доступа
Не могу выполнить программу пишет ошибка прав доступа. #include &quot;windows.h&quot; LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); int...

Ошибка прав доступа
Добрый день. В версии 8.1 УТ 10.3 возникает проблема следующего характера: Сервис - Обмен данных с web - сайтом - настроить обмен...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
Программный отбор значений справочника
Maks 21.03.2026
Установка программного отбора значений справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит предопределенное значение перечислений. Процедура. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru