Форум программистов, компьютерный форум, киберфорум
C#: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 21.03.2021
Сообщений: 5
.NET 4.x

Авторизация в программе по ролям

23.03.2021, 00:28. Показов 2423. Ответов 1

Студворк — интернет-сервис помощи студентам
Добрый день, столкнулся с проблемой.
Есть локальная бд mssql.
Есть форма для Администратора.
Есть форма для Пользователей.
Проблема с авторизацией.
В таблице юзеров есть поле: Роль(Администратор, Пользователь).
В чем суть проблемы:
Человек вводит свои данные, которые есть в таблице: логин и пароль
Нужно написать код, который по введенным данным определит какой тип пользователя (или какая роль) у этого человека и открыть соответствующую для этого человека форму.
Авторизацию по логину и паролю я сделал.
Заранее спасибо за помощь.
Код C#:
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
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace kinosql
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            string role;
            string kol = 0;
 
 
            SqlConnection connection = new SqlConnection("Data Source=(LocalDB)\\MSSQLLocalDB; AttachDbFilename=" + Application.StartupPath + "\\kin.mdf; Integrated Security=True; ");
            {
            connection.Open();
            SqlCommand command1 = connection.CreateCommand();
            command1.CommandText = "SELECT Роль * FROM [user] WHERE ([Логин] = @Логин AND [Пароль] = @Пароль)";
            command1.Parameters.Clear();
            command1.Parameters.AddWithValue("Логин", textBox1.Text);
            command1.Parameters.AddWithValue("Пароль", textBox2.Text);
 
            SqlDataReader dataReader = command1.ExecuteReader();
                while (dataReader.Read())
                {
                    
                        st = dataReader.GetValue(4).ToString();
                                role = st;
                                label1.Text = role;
                                if (role == "Администратор")
                                {
                                    AdminForm adminf = new AdminForm();
                                    adminf.Show();
                                }
                                if (role == "Пользователь")
                                {
                                UserForm userf = new UserForm();
                                userf.Show();                   
                                }
                        kol++;
                    }
                    if (kol == 0)
                    {
                        MessageBox.Show("Неправильный логин или пароль", "АВТОРИЗАЦИЯ");
                    }
                    
                }
 
            }
        }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.03.2021, 00:28
Ответы с готовыми решениями:

Авторизация по ролям
Здравствуйте форумчане, прошу помощи ,потому что сам уже не знаю где искать. Вообщем , работал на asp net core 2.0 ,потом был перерыв...

Авторизация пользователя по ролям
Здравствуйте, такое дело, использую встроенную авторизацию в asp mvc4, так же прописал доступ в те или иные разделы по ролям public...

Доменная авторизация с разделением по ролям
Подскажите пожалуйста, кто может. Нужно сделать авторизацию через ActiveDirectory, притом с разбиением по ролям. Т.е. создал роли Admins и...

1
1497 / 1238 / 245
Регистрация: 04.04.2011
Сообщений: 4,363
23.03.2021, 15:06
https://www.cyberforum.ru/ado-... st15334663

Добавлено через 1 час 11 минут
Еще о "ролях".
Не следует путать роли и функциональные прерогативы пользователей в самом приложении, работающим с СУБД.

Роли (Role) - это термин SQL-сервера. Их назначение в разграничении прав (Grants) пользователей (точнее, соединений с т.зр. сервера) независимо от логики клиентских приложений. Достаточно мощное средство для "разруливания" доступа к БД поьзователей (Users).

Если Вам нужно предусмотреть несколько режимов работы приложения, в зависимости от конкретного пользователя, и при этом логика переключения никак не зависит от SQL-сервера, то лучше использовать другие термины, например "специализация", "режим", "функциональность" и т.д.
Например,
- если приложение дает возможность только смотреть данные, то специализация - обычный пользователь,
- если дает вводить оперативные данные (счета-фактуры, накладные), то специализация - ответственный пользователь (допустим, бухгалтер или кладовщик),
- если позволяет удалять любые данные, то специализация - администратор БД,
и т.д.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.03.2021, 15:06
Помогаю со студенческими работами здесь

Авторизация по ролям C#
Всем привет. Реализация авторизации по ролям. В чем ошибка? dataGridView1.CurrentCell = null; for (int i = 0; i <...

Авторизация по ролям
Здравствуйте. Как создать в приложении авторизацию по ролям?

Авторизация по ролям
Здравствуйте, пишу приложение. Сделал авторизацию через логин и пароль. Хочу добавить проверку роли(должности) входящего, по которой будет...

Авторизация в программе
Помогите с авторизацией в программе. мне надо что бы при вводе логина и пароля в поля программы. программа сверяла данные с полученными из...

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru