Недавно пришлось пришлось полазить по интернету для поиска подходящего способа авторизации пользователей в программе.
Того, чего хотелось не нашел. Пришлось разрабатывать самому, используя старые наработки и сведя всё в кучу. Вот выкладываю на суд то, что получилось. Выдрано из рабочей программы, так что есть лишние таблицы и формы.
Модуль авторизацииПрежде чем продолжить работу над работами (фу, тавталогия...) решил сделать модуль авторизации пользователей. Пригодится.
Данный модуль имеет 3 вида авторизации
1.
без авторизации2.
Windows авторизация3.
авторизация по Login/PasswordВыложен он будет в режиме
"Без авторизации"Переключать режимы авторизации может администратор программы. Для этого надо нажать кнопку "
Сервис" (ключ и молоток) Появляется форма "
Сервис" с двумя кнопками (пока).
Нажимаем на кнопку "
Настройка программы".Программа запросит пароль администратора.
ВНИМАНИЕ! Сейчас для администратора установлен пароль "
121212". Для всех остальных пользователей пароль не установлен. Логин администратора всегда "
admin". Этот логин зарезервирован за системой. Пользователи не должны его использовать.
Вводим пароль. Откроется форма "
Настройки программы". Выбираем нужный режим и закрываем форму.
Тут можно сменить и пароль администратора, нажав кнопку "
Смена пароля текущего пользователя". У Вас снова будет запрошен пароль администратора, При правильном вводе будет предложено ввести новый пароль. Так меняется пароль администратора в режиме "
Без авторизации"
Пользователей (менеджеров) и логины для них задаёт руководитель. А вот пароль устанавливает сам пользователь.
Для изменения параметров пользователей нажмите на кнопку "Менеджеры" (два профиля). Откроется форма со списком пользователей. Внизу есть кнопки "
Добавить", "
Изменить", "
Удалить".
Выберите пользователя и нажмите на кнопку "
Изменить". Откроется соответствующая форма. Перейдите на закладку "
Авторизация".
Там находятся два поля "
Логин Windows" и "
Логин программы"
В поле "
Логин Windows" вносится логин под которым пользователь регистрируется в
Windows. Предназначен для режима Windows авторизации.
В поле "
Логин программы" вносится логин для режима авторизации
Login/Password. При создании нового пользователя пароль всегда пустой. Чтобы его изменить, необходимо при заданном режиме "
Авторизация по Login/Password" войти в программу по своим логином. В поле "
Пароль" ничего не вводить. Затем выбрать режим "
Сервис" и "
Смена пароля текущего пользователя". Введите новый пароль и подтвердите его. Пробелы вводить нельзя. Регистры в пароле учитывается.
Кроме того там есть кнопка для сброса пароля. Если пользователь забыл свой пароль, то руководитель может его сбросить.
Логины и пароли пользователей хранятся в таблице
UserManager. Режим авторизации и пароль администратора хранятся в таблице
tbl_SetProgramm.
При "
Windows авторизации" программа при запуске просматривает поле
LoginWin в таблицы
UserManager. В случае совпадения входит в программу под найденным логином.
При авторизация по
Login/Password программа запрашивает логин и пароль пользователя.
Попробуйте, как работает и выскажите своё мнение.
Заданные мной логины для программы
Иванов - Ivan
Петров - Peter
Сидоров - Sidor
Александров - Alex
Фёдоров - Fedor
Ефимов - Efim
Сергеев - Serg
Регистр для логина неважен. т.е. Alex=alex=aLeX
P.S. Ещё раз напоминаю, пароль для администратора сейчас установлен
121212.
-------------------------------------------------------------
А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса?
https://www.sql.ru/forum/1305683/modul-avtorizacii-testirovanie-i-obsuzhdenie