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

Авторизация с переходом на разные формы

26.03.2014, 14:18. Показов 10499. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, суть вопроса в том как осуществить форму авторизации при которой пользователей с разным уровнем доступа будет перенаправлять на разные формы.

т.е. есть база в ней таблица допустим Avtolog и три столбца
- name - parol - tip -
- adm - 123 -1-
- user - 321 - 2-

База на SQL 2008 подключается через app.config файлик

Нужно сделать так что при вводе adm - 123 открывалась форма 1, а при вводе user - 321 открывалась форма 2
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.03.2014, 14:18
Ответы с готовыми решениями:

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

Авторизация с переходом в личный кабинет
Доброе время суток! Я новичок использую VS 2015 Community на mvc4 пытаюсь сделать регистрацию с переходом в личный кабинет. Человек...

Автостарт Internet Explorer-а с переходом на разные сайты при запуске windows7 !
Доброго времени суток всем ! В определённый момент, при запуске win7 под одним из пользователей, стал автоматом запускаться iexplorer с...

10
Заблокирован
26.03.2014, 14:35
Проект – Добавить форму Windows - Форма Windows Forms” - её имя, например, secondForm

Обработчик событий для открытия второй формы
C#
1
2
3
4
5
private void button1_Click(object sender, EventArgs e)
 {
   Form2 secondForm = new Form2();
   secondForm.Show();
 }
Вам надо чуть сложнее: запишите пароль в какую-нибудь переменную, сравните с чем надо, и используйте условный оператор или switch
0
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 19
26.03.2014, 14:57  [ТС]
т.е. вы предлагаете записать переменную из столбца tip и потом по средством сравнения переходить на нужную форму?

А если у меня в этом столбце около 10 - 20 строк и каждой строке соответствует переход на свою форму, то как сделать (писать сравнение на кааждую?)?
0
41 / 37 / 8
Регистрация: 24.07.2013
Сообщений: 219
26.03.2014, 15:32
Понимаю суть изложенной проблемы. По моему рекомендуется использовать 1-ну форму просто при том или ином уровне доступа убирать с нее опции к которым данный пользователь доступа не имеет однако если делать так как вы изложили то это будит выглядеть как то так :
C#
1
2
3
4
5
6
7
8
9
10
If(... Role == "Admin")
{
FormAdm FA = new FormAdm ();
FA.Show();
}
else if(... Role == "User")
{
FormUse FU = new FormUse();
FU.Show();
}
и так далее в зависимости от количества Role, но данный вариант не есть лучшим так как при добавлении 1-ной роли тебе нужно будит в ручную ковырять код )
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
26.03.2014, 17:10
1. создаем форму логина Login которая выполняет авторизацию и получает тип пользователя
2. в файле Program в методе main сначала открываем форму Login в виде диалога
3. при успешной авторизации получаем из формы Login тип пользователя
4. при помощи switch выполняем Application.Run с нужной формой
0
Заблокирован
26.03.2014, 17:38
У вас 10-20 разных форм или 10-20 разных паролей?
1. Если форм таки две, то именно посредством сравнения. Используйте логику!
C#
1
2
3
4
5
6
7
8
if(pass=1 ||pass=2 ||pass=3)
{
//создание формы1
}
else
{
//создание формы 2
}
2. Можно вместо создания разных форм менять свойство Visible нужных контролов, но суть конструкции будет та же.
3. А если у вас и форм 20, у каждого пользователя своя, то такую программу надо полностью переделывать.
0
0 / 0 / 0
Регистрация: 18.01.2012
Сообщений: 19
26.03.2014, 18:11  [ТС]
Learx, можете более подробно описать пунк 4 "выполняем Application.Run с нужной формой" а то не совсем понятно

Добавлено через 5 минут
Блондинка с ОЗМ, у меня в базе предпологается более 150 разных пользователей и паролей, и около 15 уровней доступа, при каждом уровне доступа после авторизации должна открываться своя форма (в некоторых случаях открываются несколько форм)
а форм у меня около 20 будет
0
Заблокирован
26.03.2014, 18:17
Цитата Сообщение от Toll Посмотреть сообщение
Learx, можете более подробно описать пунк 4 "выполняем Application.Run с нужной формой" а то не совсем понятно

Добавлено через 5 минут
Блондинка с ОЗМ, у меня в базе предпологается более 150 разных пользователей и паролей, и около 15 уровней доступа, при каждом уровне доступа после авторизации должна открываться своя форма (в некоторых случаях открываются несколько форм)
а форм у меня около 20 будет
Тогда эти формы разумнее вообще создавать динамически. Для админа генерировать одни контролы, для модератора другие и т.д.
Но начинать в любом случае придется с определения уровня по введенному паролю, и с ветвления алгоритма с помощью if или switch.
Либо сразу внести уровень каждого пользователя в базу данных - но дальше, считав его, решение вы все равно будете принимать с помощью if или switch.
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
26.03.2014, 18:20
Toll, откройте в вашем проекте класс Program и увидите, как это выполняется для главной формы.
вам следует просто вызывать Application.Run с нужной формой.

Добавлено через 1 минуту
Блондинка с ОЗМ, я создаю модули программы в виде UserControl и сворачиваю их в разные библиотеки. в главной программе в зависимости от прав пользователя загружаются только те библиотеки, к которым он имеет права доступа.
0
Заблокирован
26.03.2014, 18:29
Цитата Сообщение от Learx Посмотреть сообщение
Toll, откройте в вашем проекте класс Program и увидите, как это выполняется для главной формы.
вам следует просто вызывать Application.Run с нужной формой.

Добавлено через 1 минуту
Блондинка с ОЗМ, я создаю модули программы в виде UserControl и сворачиваю их в разные библиотеки. в главной программе в зависимости от прав пользователя загружаются только те библиотеки, к которым он имеет права доступа.
Да важно-то сейчас не то, в каком виде хранить 15 форм, а то, что форм примерно 15 и надо по введенному паролю как-то принять решение о том, какие из этих форм показать.
По крайней мере вопрос именно об этом.
0
 Аватар для sau
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,821
27.03.2014, 14:20
Да важно-то сейчас не то, в каком виде хранить 15 форм
- ну , как бэ , от этого алгоритм выбора и зависит , в самом примитивном случае - swith case, if else , но могут быть варианты с динамической подгрузкой , и тут уже простор для творчества.
1. По текущему контексту определяем имя юзера.
2. По имени определяем список ролей.
3. По списку ролей выделяем перечень полномочий.
4. По перечню полномочий выбирается конфигурация , определяющая перечень форм.
5. Конфигурация должна быть оформлена удобным способом для динамической загрузки форм - что бы без всяких там if-case-else , например , конфиг файлы с перечнем форм , либо специальные каталоги с нужными формами - тут даже можно задействовать механизмы файловой безопасности OS с проверкой прав на доступ , либо специальным образом оформленные dll - в которых упакованы нужные комбинации форм , сами формы могут возвращать перечень необходимых полномочий посредством метаданных , для подгрузки dll можно применить плагиновые MEF/MAF и т.п.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.03.2014, 14:20
Помогаю со студенческими работами здесь

Проблема с переходом из формы на форму.
Доброго времени суток всем! Трабла у меня вот какая: есть таблица в Экселе, в которую занесеный какие-то значения. Есть форма, в боксы...

помогите с переходом с одной формы на другую....
помогите с кодом кнопки чтобы перейти на другую форму и обратно.

Как заполнить таблицу из формы с переходом на новую строку таблицы и переносом в ней формул
Доброго времени суток! Прошу помощи. В прикрепленной книге Excell на первой вкладке должны вноситься какие-то данные. Во второй вкладке...

C# & SQL авторизация и разные права доступа
Добрый день, Уважаемые форумчане! Делаю БД и надо сделать авторизацию и разные права доступа, т.е. бухгалтер может смотреть финансовые...

авторизация, пере направление по правам(админ,юзер) на разные страницы
Здравствуйте! Есть система авторизация юзеров,нужно сделать так что бы когда определенный юзер ввел свои данные система проверяла его...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru