powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Модуль авторизации. Тестирование и обсуждение
25 сообщений из 160, страница 1 из 7
Модуль авторизации. Тестирование и обсуждение
    #39736231
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Недавно пришлось пришлось полазить по интернету для поиска подходящего способа авторизации пользователей в программе.
Того, чего хотелось не нашел. Пришлось разрабатывать самому, используя старые наработки и сведя всё в кучу. Вот выкладываю на суд то, что получилось. Выдрано из рабочей программы, так что есть лишние таблицы и формы.

Модуль авторизации

Прежде чем продолжить работу над работами (фу, тавталогия...) решил сделать модуль авторизации пользователей. Пригодится.

Данный модуль имеет 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-ти миллиардное состояние Билла Гейтса?
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736357
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JossПопробуйте, как работает и выскажите своё мнение.

Вроде работает, не очень хорошо хранение паролей в явном виде, звездочки тоже фигня, желательно шифровать пароли, а лучше вместо них хранить контрольную сумму пароля (и короче и не понять что это такое)
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736369
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Переключил в режим: 3. авторизация по Login/Password
2. Перезапустился.
3. По форме ввода логина райт клик "Конструктор форм".
4. F11

Ну вот я и в хопре (с) :)
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736373
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заодно:
Не надо принудительно распахивать окно Access во весь экран.
Доверьте эту миссию пользователю.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736397
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну что ответить на замечания?
Это пример не по взлому защиты, а по организации авторизации пользователей. То, что пароли надо шифровать, я догадываюсь. В следующей версии могу реализовать. Сюда не пихал, чтоб был наглядней принцип и алгоритм авторизации.

Кстати, по-этому и никакие защиты не ставил. Не от Shift, ни отключение спецклавишь, ни пароль на VBA.

А вообще, каково впечатление? Без замечания на шифрование паролей, открытия панели навигации и Shifta.

Про то, что звёздочки можно расшифровать - я знаю. Даже где-то программа валялась - кажется asterics называется. Но вы упустили из вида, что звёздочки - это от подглядывания. Чтоб запустить программу, надо сидеть за клавой. А тот, кто вводит пароль и так его знает.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736405
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss... Это пример не по взлому защиты, а по организации авторизации пользователей...

dic.academic.ruАвторизация (от английского «Authorization») – понятие, изначально использовавшееся в банковской сфере,
в области платежных карт и означает процедуру идентификации лица для предоставления доступа к неким ресурсам или возможностям,
имеющим ограниченный доступ...
Этот пример не показывает решения основной задачи авторизации пользователей.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736412
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss, принцип присвоил и забыл тут уже не действует, все время нужно будет изменять что-то (а если не менять то зачем тогда вводить) - если эти данные нужны, то нужно брать их наверное из учетно-кадровой программы (в которой есть приказы и пр.-которую ведет сотрудник, отвечающий за верность данных), в общем случае мне кажется что самое лучшее это логин/пароль - причем вводить пароль и определять логин и все. исходя из логина - права и роли - здесь этого нет (или выбор отдела это и есть оно?). кнопку лог в список сотрудников наверное нужно добавить.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736424
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JossА вообще, каково впечатление? Без замечания на шифрование паролей, открытия панели навигации и Shifta.

Да ничего так, один из завершающих штрихов перед созданием коробочного варианта, без паролей как-то и приложение не приложение... единственное без инструкции не догадаешься что есть пароли (не зря же сам подробно все расписал)... Логичнее с самой первой формы узнать что ты Администратор и ты можешь зайти без пароля ибо он пока не задан...
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736463
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Predeclareddic.academic.ruАвторизация (от английского «Authorization») – понятие, изначально использовавшееся в банковской сфере,
в области платежных карт и означает процедуру идентификации лица для предоставления доступа к неким ресурсам или возможностям,
имеющим ограниченный доступ...
Этот пример не показывает решения основной задачи авторизации пользователей. Вы хотите сказать, что этот пример не решает задачу идентификации пользователя? И почему же? Программа может эксплуатироваться в разных условиях Может требоваться идентификация, может - нет. Здесь даны два метода идентификации пользователей. Windows и Login/Password.

И давайте разделять задачи. Задачу закрыть доступ злоумышленнику к таблицам и коду и задачу разграничить доступ пользователям к информации средствами программы.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736474
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleckoJoss, принцип присвоил и забыл тут уже не действует, все время нужно будет изменять что-то (а если не менять то зачем тогда вводить) - если эти данные нужны, то нужно брать их наверное из учетно-кадровой программы (в которой есть приказы и пр.-которую ведет сотрудник, отвечающий за верность данных), в общем случае мне кажется что самое лучшее это логин/пароль - причем вводить пароль и определять логин и все. исходя из логина - права и роли - здесь этого нет (или выбор отдела это и есть оно?). кнопку лог в список сотрудников наверное нужно добавить.

Похоже, Вы не совсем поняли проблему. Есть задача в которой работает несколько человек. Надо протоколировать их работу (некоторую) и разграничить доступ к информации (определённой). Никаких кадровых программ тут не надо. Это хвосты той программы, из которой я выдрал этот кусок. Что бы работать с программой пользователь должен себя идентифицировать. А дальше вступают в действие роли, прописанные в программе.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736478
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да.

Во первых, я показал как легко обойти авторизацию данного примера .
Ну да бог с ним.
Во вторых:
dic.academic.ru... для предоставления доступа к неким ресурсам или возможностям,
имеющим ограниченный доступ...
в примере этого нет.
Различных наборов меню для пользователей разных ролей нет.
Разных наборов записей в формах/отчетах для пользователей разных ролей нет.

Нет ничего, за что можно было бы зацепиться глазом.
Студентам может сгодится, сдать зачет и забыть.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736541
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PredeclaredДа.

Во первых, я показал как легко обойти авторизацию данного примера .
Ну да бог с ним.
Во вторых:
dic.academic.ru... для предоставления доступа к неким ресурсам или возможностям,
имеющим ограниченный доступ...
в примере этого нет.
Различных наборов меню для пользователей разных ролей нет.
Разных наборов записей в формах/отчетах для пользователей разных ролей нет.

Нет ничего, за что можно было бы зацепиться глазом.
Студентам может сгодится, сдать зачет и забыть. Так Вам что, в качестве примера всю задачу выложить? Тяжеловат он будет. Да и бесполезен.
Ведь для каждой задачи надо писать свои меню, свои роли.
Здесь же я хотел показать кусочек задачи: вход в программу с идентификацией пользователя. Как задать пароль, как войти, способы идентификации.

Если хотите посмотреть как реализовано разделение по ролям, с запретом определённых действий и информации, то добро пожаловать вот сюда Программа для ведения учета автотранспорта и дорожно-строительных механизмов В предпоследнем комменте версия для Access 2000. Вот тут А чуть выше мы с пользователем Roja обсуждали защиту.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736549
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss, наверное, windows авторизацию можно переделать. На SID пользователя или хотя бы определять рабочую группу\домен пользователя+логин по понятным причинам.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736552
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagВроде работает, не очень хорошо хранение паролей в явном виде, звездочки тоже фигня, желательно шифровать пароли, а лучше вместо них хранить контрольную сумму пароля (и короче и не понять что это такое) Ну, если злоумышленник смог добраться до таблиц, то тут шифруйся - не шифруйся - всё едино. Прописаны пароли только для Login/Password авторизации. А там либо копируешь в свою запись привилегии начальника, либо копируешь в запись начальника свой пароль и заходишь как начальник, под его логином.

У себя на работе я везде сделал Windows авторизацию. Её обойти чуть-чуть сложнее. Но не намного. Повторяю: если злоумышленник смог добраться до таблиц, то всё остальное дело времени. Или шифровка не отдельных полей, а целых записей. Только быстродействие резко просядет. И трудоёмкость разработки резко возрастёт.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736562
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss, а я бы если бы перевел пользователей на access 2007+ - ввел бы авторизацию по времеенному паролю, который высылал бы на телефон ;) Пароль действует 8 часов и баста
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736563
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинJoss, а я бы если бы перевел пользователей на access 2007+ - ввел бы авторизацию по времеенному паролю, который высылал бы на телефон ;) Пароль действует 8 часов и баста

И вообще саму аутентификацию вынес бы за рамки Акса..набросал бы сервис аутентификации или использовал бы сторонний, например - гугл. Вход через гугл учетку - модно\молодежно!
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736564
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинJoss, наверное, windows авторизацию можно переделать. На SID пользователя или хотя бы определять рабочую группу\домен пользователя+логин по понятным причинам. Честно говоря не вижу причин для переделки. Очень страшно секретные данные в такой базе хранить не станешь. А если база стащена и получен доступ к таблицам, то остальное только дело времени и упорства.

Да, и такой вопрос. Если Вы вошли в сеть с другого компьютера (ваш забрали на ремонт) То Ваш SID изменится?
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736565
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JossОзверинJoss, наверное, windows авторизацию можно переделать. На SID пользователя или хотя бы определять рабочую группу\домен пользователя+логин по понятным причинам. Честно говоря не вижу причин для переделки. Очень страшно секретные данные в такой базе хранить не станешь. А если база стащена и получен доступ к таблицам, то остальное только дело времени и упорства.

Да, и такой вопрос. Если Вы вошли в сеть с другого компьютера (ваш забрали на ремонт) То Ваш SID изменится?

Нет, не изменится. Но если у вас пользователи имеют возможность сменить себе логин или завести нового локального пользователя - то как бе не проблема зайти под кем угодно.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736566
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss, а смысл тащить клиента? В нем же нет данных.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736568
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОзверинОзверинJoss, а я бы если бы перевел пользователей на access 2007+ - ввел бы авторизацию по времеенному паролю, который высылал бы на телефон ;) Пароль действует 8 часов и баста

И вообще саму аутентификацию вынес бы за рамки Акса..набросал бы сервис аутентификации или использовал бы сторонний, например - гугл. Вход через гугл учетку - модно\молодежно! Вы немного увлеклись. Я хочу получить обычную садовую тачку для перевозки песка и земли, а Вы мне предлагаете автоматическую грузовую платформу с дистанционным управлением и GPS навигацией. Нет у меня задач под такую защиту.

Начальство/заказчик просто хочет, чтоб Вася и Коля, которые работают с этой программой не лезли в дела/записи друг друга, И чтобы Витя, которому до этих задач вообще нет дела, не совал бы свой любопытный нос куда не надо. И чтобы оно (начальство) всегда могло определить кто, что натворил и кого за это иметь.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736570
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JossОзверинпропущено...


И вообще саму аутентификацию вынес бы за рамки Акса..набросал бы сервис аутентификации или использовал бы сторонний, например - гугл. Вход через гугл учетку - модно\молодежно! Вы немного увлеклись. Я хочу получить обычную садовую тачку для перевозки песка и земли, а Вы мне предлагаете автоматическую грузовую платформу с дистанционным управлением и GPS навигацией. Нет у меня задач под такую защиту.

Начальство/заказчик просто хочет, чтоб Вася и Коля, которые работают с этой программой не лезли в дела/записи друг друга, И чтобы Витя, которому до этих задач вообще нет дела, не совал бы свой любопытный нос куда не надо. И чтобы оно (начальство) всегда могло определить кто, что натворил и кого за это иметь.

да я понимаю. Но ведь люди должны уставать клепать садовые тележки...А то, что вы заявили, есть в бесплатном доступе - зачем это создавать по сто раз, да еще и на устаревших технологиях? Вон, пусть берут какую нить модную бесплатную CRM и crmят там. Допустим, тот же битрикс24(облако) до 12 человек бесплатен. Или какую нить опенсурс качают да используют.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736574
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин... Но если у вас пользователи имеют возможность сменить себе логин или завести нового локального пользователя - то как бе не проблема зайти под кем угодно.

Это Вы о моей программе? Для авторизации Login/Password ?
Или о Windows?
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736576
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JossОзверин... Но если у вас пользователи имеют возможность сменить себе логин или завести нового локального пользователя - то как бе не проблема зайти под кем угодно.

Это Вы о моей программе? Для авторизации Login/Password ?
Или о Windows?

я так подумал, что это будущая crm система ;)
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736585
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин...
да я понимаю. Но ведь люди должны уставать клепать садовые тележки...А то, что вы заявили, есть в бесплатном доступе - зачем это создавать по сто раз, да еще и на устаревших технологиях? Вон, пусть берут какую нить модную бесплатную CRM и crmят там. Допустим, тот же битрикс24(облако) до 12 человек бесплатен. Или какую нить опенсурс качают да используют. Да нет. Про CRM всё понятно. Это вообще не моя разработка, а evgenii3000 . Наткнулся я на неё решая свои задачи. Я и не собираюсь её развивать (может как-нибудь для какого-то конкретного случая). Я на ней хочу просто одну идею отработать. Сделаю - выложу для обсуждения. А сейчас меня интересует только модуль авторизации. Его узкие места.

Я сейчас возьму перерыв, почищу всё лишнее, что-бы не смущать людей. Уберу лишние таблицы, формы, запросы. Просто хочу получить законченный модуль, который потом можно будет легко встраивать в другие программы. А потом уже прописывать роли и всё прочее.

P.S. Исходный пример был в формате A2007. Я специально перевел модуль в формат A2000, что бы больше людей с ним тут ознакомилось.

P.S.S. Но ведь люди должны уставать клепать садовые тележки... (с) Да. Я устал. Но делать космические корабли мне не предлагают. А садовые тележки с моторчиками иногда пользуются спросом.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736701
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот новая версия модуля авторизации. Подчистил хвосты. Убрал все дополнительные таблицы и формы. Теперь ничего не должно отвлекать.

Что не сделал.
Не сделал шифрование пароля. Если надо, то сделаю в следующей версии.
...
Рейтинг: 0 / 0
25 сообщений из 160, страница 1 из 7
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Модуль авторизации. Тестирование и обсуждение
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]