Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
3 / 3 / 3
Регистрация: 01.06.2020
Сообщений: 64

Как реализовать проверку уровня доступа в программу?

25.03.2022, 13:24. Показов 964. Ответов 4

Студворк — интернет-сервис помощи студентам
У меня есть вход в программу и надо сделать так, чтобы была проверка по стоке Position. Например, если Position = Admin открывалась одно окно.
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
private void buttonLogin_Click(object sender, EventArgs e)
        {
            String loginUser = loginField.Text;
            String passUser = passField.Text;
 
            DB db = new DB();
 
            DataTable table = new DataTable();
 
            MySqlDataAdapter adapter = new MySqlDataAdapter();
 
            MySqlCommand command = new MySqlCommand("SELECT * FROM `users` WHERE `login` = @uL AND `pass` = @uP", db.GetConnection());
            command.Parameters.Add("@uL", MySqlDbType.VarChar).Value = loginUser;
            command.Parameters.Add("@uP", MySqlDbType.VarChar).Value = passUser;
 
            adapter.SelectCommand = command;
            adapter.Fill(table);
 
            if (table.Rows.Count > 0)
            {
                
                this.Hide();
                MainForm mainForm = new MainForm();
                mainForm.Show();
            }
                
            else
                MessageBox.Show("no");
        }
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.03.2022, 13:24
Ответы с готовыми решениями:

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

Однозначное отделение (классификация) оборудования уровня ядра/аггрегации от уровня доступа
Всем привет. Возник такой вопрос: можно ли по функциям или по железу понять уровень железки (ядра, аггрегации, доступа). Или это всё...

почему обявление уровня доступа является нежелательным способом предявления доступа, в отличии от использования пространстрва имён?
почему обявление уровня доступа является нежелательным способом предявления доступа, в отличии от использования пространстрва имён?

4
 Аватар для iLinks
800 / 458 / 237
Регистрация: 03.01.2017
Сообщений: 1,339
25.03.2022, 16:00
Сделайте справочник уровней доступа. Создайте столбец в таблице users с внешним ключом на id cправочника. Значения справочника распределите по пользователям. После прохождения проверки
Цитата Сообщение от MfankWorld Посмотреть сообщение
if (table.Rows.Count > 0)
Вытаскивайте значение уровня доступа пользователя и открывайте окно для его уровня.
C#
1
var level = table.Row[0]["{level}"]
0
3 / 3 / 3
Регистрация: 01.06.2020
Сообщений: 64
25.03.2022, 16:03  [ТС]
Не мне не надо еще создавать таб. Просто проверять что написано в строке. Если админ то одно окно открывать а если манагер то другое окно. Самое главное как это реализовать.
0
 Аватар для iLinks
800 / 458 / 237
Регистрация: 03.01.2017
Сообщений: 1,339
25.03.2022, 16:08
Лучший ответ Сообщение было отмечено MfankWorld как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
if (table.Rows.Count > 0)
{
    this.Hide();
    if (table.Row[0]["{level}"].ToString() == "админ")
    {
        AdminForm admFrm = new AdminForm();
        admFrm.Show();
    }
    else if (table.Row[0]["{level}"].ToString() == "манагер")
    {
        ManagerForm mngrFrm = new ManagerForm();
        mngrFrm.Show();
    }
    else
    {
        MainForm mainForm = new MainForm();
        mainForm.Show();
    }
}
else
{
    MessageBox.Show("no");
}
0
3 / 3 / 3
Регистрация: 01.06.2020
Сообщений: 64
26.03.2022, 19:52  [ТС]
У меня проблема с Row
Ошибка CS1061 "DataTable" не содержит определения "Row", и не удалось найти доступный метод расширения "Row", принимающий тип "DataTable" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).

Добавлено через 5 минут
Изменил на Rows все заработало

Добавлено через 5 минут
System.ArgumentException: "Столбец "{Position}" не принадлежит таблице ."
Вот такую ошибку мне выдает!

Добавлено через 2 часа 54 минуты
Вот так все работает!
C#
1
2
3
4
5
if (table.Rows[0]["Position"].ToString() == "Admin")
                {
                    AdminForm adminForm = new AdminForm();
                    adminForm.Show();
                }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.03.2022, 19:52
Помогаю со студенческими работами здесь

[Cocos2d-x] Как реализовать смену уровня?
Нужен пример смены уровня на кокосе. Гуглил ничего толкового не нашел

Как реализовать проверку кратности на 4h
У нас есть массив чисел, положительных... И нам нужно количество чисел что делится допустим на 4 h. Как можно реализовать сам алгоритм...

Как реализовать проверку капчи?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html...

Как реализовать проверку на столкновения
Здравствуйте, помогите пожалуйста?! Вот код функции: private function createJoint():void { var massObjStat:Array = new Array(); ...

Как реализовать проверку данных
На форме создал EditLabel, в него пользователь вводит дату выхода, после этого я конвертирую String в DateTime, если я введу не в...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
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
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru