powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Модуль авторизации. Тестирование и обсуждение
160 сообщений из 160, показаны все 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
Модуль авторизации. Тестирование и обсуждение
    #39736775
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss, для входа, пароль вводить необязательно. ввел Логин, зашел, можно завести нового пользователя. вобщем никаких ограничений.
и это окно при выходе... может просто перенести кнопку выхода вверх вправо - и не спрашивать очевидное?
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736812
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aleckoJoss, для входа, пароль вводить необязательно. ввел Логин, зашел, можно завести нового пользователя. вобщем никаких ограничений.
и это окно при выходе... может просто перенести кнопку выхода вверх вправо - и не спрашивать очевидное?Ну поставил бы я опрос на возможность добавлять пользователей только админу? Ну и что?

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

Хотя кое в чём Вы и правы. Надо в примере для рядовых пользователей ввести запрет на изменение, добавление новых пользователей.
Доработаю - выложу.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736940
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Новая версия программа. Теперь добавить удалить и изменить параметры, а так же сменить способ авторизации может или "Admin" или пользователь с администраторскими привилегиями. В параметрах пользователя появился флажок "Администратор"
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736977
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss, может добавить суперюзера? (который имеет право создавать/изменять юзеров своего отдела) админу оставить права на создание этих суперюзеров только.
для входа также не нужен пароль - хватает логина.
окна с ругательствами заменил бы на Enabled=false кнопок или даже .visible=false.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736982
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подумаю. На счёт ругательств согласен. Лень было код дописывать. На счёт суперюзера не понял. Чем флажок "Администратор" не устраивает?
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736990
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Двигаемся по github-way: https://github.com/cudu/ms-access-2007-authorization
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39736992
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин, и что это значит?
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39737025
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss На счёт суперюзера не понял. Чем флажок "Администратор" не устраивает?
админ не знает кто в каком отделе с чем работает, соответственно не сможет эффективно управлять ролями и правами на работу с документами, при этом их может эффективно раздавать суперюзер, который при этом в остальных случаях - обычный юзер (управление настройками программы, архивирование, обслуживание базы)
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39737076
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверин, а почему *.txt , а не *.bas и *.cls ?
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39737206
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПанургОзверин, а почему *.txt , а не *.bas и *.cls ?

потому что встроенный saveastext сохраняет в txt, соответственно, встроенный loadfromtext - из txt загружает все обратно.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39737207
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JossОзверин, и что это значит?

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

что твой код можно посмотреть на гитхабе. можно загрузить его. изменить - вдруг комьюнити подключится. По-хорошему, следует избавиться от русских букв в комментариях и сообщениях ) Можно конечно всё на English перевести, но я сомневаюсь, что кого-нибудь из-за бугра это заинтересует. А у нас дай бог что бы без ошибок по-русски писали.

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

И на счёт шифрования пароля в таблице. Если я выложу программу шифрования, то любой сможет расшифровать зашифрованное, тогда зачем она? Любители могут посмотреть на сайте NSA пример по шифровке данных в таблице. Могу его встроить в модуль.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39737324
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверинпотому что встроенный saveastext сохраняет в txt, соответственно, встроенный loadfromtext - из txt загружает все обратно.экспортом пользоваться не пробовал?
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39737326
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
upd. У классов могут быть специальные настройки и скрытые атрибуты, я не уверен что они сохранятся подобным способом.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39737327
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панургupd. У классов могут быть специальные настройки и скрытые атрибуты, я не уверен что они сохранятся подобным способом.

все работает как часы.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39737328
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПанургОзверинпотому что встроенный saveastext сохраняет в txt, соответственно, встроенный loadfromtext - из txt загружает все обратно.экспортом пользоваться не пробовал?

экспортом чего и куда?
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39737330
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JossЕсли я выложу программу шифрования, то любой сможет расшифровать зашифрованное, тогда зачем она?Пароли не шифруют, хранят хэш.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39737341
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Озверинвсе работает как часы.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39737390
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПанургJossЕсли я выложу программу шифрования, то любой сможет расшифровать зашифрованное, тогда зачем она?Пароли не шифруют, хранят хэш.
Значит нужна программа хеширования паролей на VBA. У Вас она есть? У меня нет. Серьёзно. Хочу поискать. Где-то лежал расчёт CRC32 на VB. Может его приспособить.
И я писал, что если злоумышленник добрался до таблиц, то наличие шифрования паролей его вряд ли остановит.

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

JossГде-то лежал расчёт CRC32 на VB.Почему бы и нет

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

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

Программа тестировалась в Access 2010 64/32 под Windows 7 64/32 и в Access 2016 32 под Windows 10 64. Других под рукой не оказалось.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39737947
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss... Надо было или разрабатывать специальную форму для ввода пароля или модернизировать функцию InputBox...
Зачем?
Есть уже форма авторизации.
Зачем городить дополнительные?
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39737949
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем "рядовому" пользователю видеть форму Сотрудники, на которой он не может педалировать кнопки?
Дайте ему отчет, пусть смотрит номера телефонов и почту, если это требуется.
И администратору не придется на каждый чих вводить свой пароль,
достаточно первичной авторизации.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39737985
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PredeclaredЗачем?
Есть уже форма авторизации.
Зачем городить дополнительные?
Как-то так, например:
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39737991
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И лучше поработать над Enabled кнопок, чем показывать юзеру описание ошибок разработчика.
Пара примеров:
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39737993
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39737996
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Predeclared,

А как вы смогли сразу 4 рисунка приложить к одному сообщению?
Я тоже так хочу.
У меня чёй та - Всегда только один прилаживается.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39738000
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛапухА как вы смогли сразу 4 рисунка приложить к одному сообщению?

Первый рисунок распечатываешь, потом прикладываешь его к монитору на другой сюжет, фоткаешь, потом фотку распечатываешь, опять прикладываешь к монитору на третий сюжет, фоткаешь итак в цикле...
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39738003
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лапух,
Это один файл, собранный из четырех скринов в паинте.
Сам несколько картинок не умею к одному сообщению.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39738004
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Predeclared,
Ну да. да. да, я так именно и понял из вашего ответа.
Просто в связи с новыми веяниями предположил, что появились новые возможности, которых я не узрил.
Спасибо за развёрнутый ответ, понятный даже мне.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39738159
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Predeclared, большое спасибо Вам что погоняли мою программу на критические ситуации. Иногда соображалка загружена другими проблемами и ты просто упускаешь что-то важное из виду. Ваши замечания по ошибкам я исправил.

На счёт задания нового пароля, тут я с Вами не согласен. Он нужен только для режима Login/Password. И я решил, что отдельная кнопка для смены пароля в программе будет уместнее, чем добавлять специальную кнопку в форму авторизации. Вам никто не мешает всё переделать по своему вкусу.

Чтобы Вам всё время не набирать пароль админа, переключите программу на режим Login/Password и войдите как администратор. Больше админский пароль у Вас запрашиваться не будет.

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

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

При Windows авторизации определение происходит автоматически и запроса пароля нет. При Login/Password авторизации как разобрать, ты хочешь заменить пароль или не хочешь? И куда вводить тогда подтверждение пароля?

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

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

Мой паттерн такой:
Модуль класса, отвечающий за всю логику + форма, как пульт управления. Вам и карты в руки, сделайте свой класс. А я с классами не слишком дружен.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39738669
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут рекомендовали вместо паролей хранить их хеши. Кто хочет - пожалуйста Получение MD5 хэша в VBA
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39739395
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss... Вам и карты в руки, ...
Взял я таки карты в руки, раскинул пасьянс.
Нарисовался черновик объектной модели решения задачи.
На permissions застопорился. Реализация сильно зависит от конкретного ТЗ.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39739505
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я пытался сделать максимально универсальный модуль, который можно встраивать в любую задачу с соответствующими доработками.
По сравнению с первым представленным вариантом я убрал все ссылки на структуру организации: таблицы с отделами, должностями, организациями, структуру подчинённости и соответствующие формы и поля. Всё это уже добавляет разработчик под конкретную задачу.

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

Ну не лежит у меня душа к этому. Считаю, что вводить пароль ручками, а не выбирать из списка более надёжно в качестве защиты. Но для таких пользователей сделал послабление. Теперь программа запоминает последнего пользователя, который с ней работал в режиме Login/Password

Да, и при первом запуске в режиме Login/Password она подставляет логин администратора. А дальше как хотите. Входите под администратором или вводите другой логин.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39746839
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На последней версии:
Система без авторизации.
1. Запускаем программу
2. Нажимаем кнопку с Менеджерами/юзерами
3. Нажимаем добавить и вводим пароль админа
4. Вводим любую фамилию
5. Вводим свой текущий логин Windows
6. Сохраняем
7. Закрываем окно с юзерами
8. Заходим в "Сервис\Настройка программы"
9. Выбираем режим "Авторизация Windows"
10. Выходим из программы, нажимая кнопки на форме.
Запускаем программу вновь и пытаемся сменить свой пароль. Нам отвечают, что "Текущий пользователь не определён", хотя пользователь определённо определён. Это нормальное поведение?

Так же выскакивает ошибка 2450 (Приложению не удаётся найти указанную форму в процедуре закрытия окна), при закрытии через кнопку "Закрыть" окна Access при активном любом окне, кроме главной формы.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39747202
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Давайте по порядку

Смена пароля - да, такую ситуацию я не предусмотрел. Когда под Windows авторизацией хочешь сменить пароль для Login/Password авторизации. Просто не мог представить себе такую ситуацию. Исправлю.
А вот, что при Windows авторизации не срабатывает флажок "администратор" - это как раз ошибка. Буду разбираться.

На счёт ошибки 2450. Вообще-то это давняя история. И были тут топики, посвященные этой проблеме. Закрывайте формы как положено и будет Вам счастье. У меня, при закрытии формы, управление передаётся вызывающей (предыдущей) форме. А при закрытии Access крестиком она может быть уже закрыта. Вот и вылетает ошибка 2450. Я в своих программах вообще крестик закрытия Access отключаю.

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

Пришлось всунуть много контролей разных ситуаций, типа вошел под Windows авторизацией, переключился на Login авторизацию и захотел поработать с пользователями...
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39748830
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В предыдущей выкладке пароль администратора был 123123 . Случайно изменил при отладке

Доработал программу по замечаниям Stanislav P. Добавил контроль загруженных форм. Теперь ошибки 2450 не будет

Пароль администратора вновь 121212

P.S. По сравнению с первыми версиями программа усложнилась из-за различных проверок. Но зато теперь вроде без ошибок.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39749587
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Продолжим:
Начальная база, заходим (включен режим без авторизации). Заходим в "Сервис\Настройка программы", нас спрашивают пароль Админа, вводим его. Меняем режим на "windows-авторизация". Выходим из программы.
Снова заходим, нам говорят, что нас нет в программе и предлагают войти под админом, на что мы соглашаемся и входим.
Заходим в список пользователей и добавляем нового пользователя с любой фамилией, установленными галочками "Администратор", "Действующий" и логином Винды. Выходим из программы.
Заходим снова, под текущим юзером Винды как админ (нас ни о чём не спрашивают). Добавляем в любом пользователелогин Винды текущего пользователя (то есть, в базе уже два одинаковых виндовых логина, что уже чревато последствиями). Выходим из формы юзера в список юзров, сохраняя исправления и нажимаем кнопку "Изменить" на любом пользователе, нам сообщают, что текущий пользователь не является администратором, хотя только-что мы были админом. Выходим из программы.
Заходим снова, нам сообщают, что нас нет в списке пользователей, хотя в этом списке уже два пользователя с виндовой авторизацией.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39749608
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ещё одна проблема: если зайти под виндовым юзером имеющим админские привилегии и убрать виндовый логин, оставив обычный, сохранив изменения, то потом, нажав кнопку "Изменить" в списке пользователей получим это:
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39750051
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav P, спасибо за тестирование программы. Очень помогли.

Следующая версия программы. Убрана возможность задвоения Windows логинов. Ну и обычных логинов программы тоже.

Вот последнюю ситуацию я ещё не сообразил, как избежать. Но думаю над этим.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39750267
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JossВот последнюю ситуацию я ещё не сообразил, как избежать. Но думаю над этим.
У тебя на каждое движение постоянно идёт выборка из базы, поэтому и ошибка выскакивает.
Если взять пример реализации из операционной системы, то залогиненный юзер будет админом даже тогда когда у него отобрали права админа. Он перестанет быть админом только после того как выйдет и зайдёт заново.
То есть, тебе не нужно каждый раз делать выборку из базы, а просто завести некую переменную, которой присваивать соответствующее значение (админ, юзер) при входе юзера. И все остальные проверки делать уже на основе этой переменной, так и базу меньше будешь дёргать и скорость работы программы повысится. :)
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39750279
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я бы реализацию делал бы немного иначе. Завёл-бы одну таблицу на всех юзеров. Если база нулевая, то появляется окошко регистрации админа и человек вводит нужный логин и ФИО, таким образом первый юзер всегда сначала админ, этим мы избавляемся от попыток подключения к базе под заранее известным логином. После чего показываем человеку окно логина, он вводит только-что введённый логин, после чего его статус пишется в TempVars-переменную и по ней мы уже проверяем его доступ. Так-же в TempVars записываем кол-во админов и уменьшаем это число каждый раз, когда у очередного юзера убирают галочку "Админ" (увеличиваем, если добавляют галочку). А если переменная кол-ва админов содержит только единицу, то делаем поле "Админ/не админ" заблокированным.
Можно в таблицу "Юзеры" ручками занести логин "админ" и исключить код добавления юзера на стадии первого подключения к нулевой базе.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39750321
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav P...Я бы реализацию делал бы немного иначе. Завёл-бы одну таблицу на всех юзеров. Если база нулевая, то появляется окошко регистрации админа и человек вводит нужный логин и ФИО...
Я вот тоже об этом при первом скачивании БД для тестирования подумал.
Но посчитав, что я начал зрить пример не вникнув в суть вопроса, то стал смотреть с самого первого поста и примера, а соответственно заметил, что дабы каждый раз логин и пароль не вводить, ради сути, то сама форма авторизации временно была как бы отодвинута в сторону и обозначеноа главная задачка.
Или я в чём то не прав и самое главное как всегда упустил?
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39750333
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин блинский.
Хотел тоже показать как я в своих тщетных попытках хотел нечто подобное сделать, а оно из за размера как всегда не приложилось.
Интересно из за чего?
Наверное я какой ни то типа - Максималист.
и не обращаю внимание на размах.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39750457
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для своего проекта я делаю почти так, как выше описал. За исключением того, что у меня нет поля "Админ", у меня всё завязывается на RBAC-модели, а там надо хранить в памяти побольше данных и я ещё не придумал как это сделать красиво.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39750582
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЕсли взять пример реализации из операционной системы, то залогиненный юзер будет админом даже тогда когда у него отобрали права админа. Он перестанет быть админом только после того как выйдет и зайдёт заново.
То есть, тебе не нужно каждый раз делать выборку из базы, а просто завести некую переменную, которой присваивать соответствующее значение (админ, юзер) при входе юзера. И все остальные проверки делать уже на основе этой переменной, так и базу меньше будешь дёргать и скорость работы программы повысится. :)

Если Вы обратили внимание, то в Module1 есть глобальные переменные
Код: vbnet
1.
2.
Public strUserName As String ' логин пользователя LoginWin или LoginManager из таблицы tbl_Users
Public lngUserCod As Long ' код пользователя - idUsers из таблицы tbl_Users


Всё работает более-менее нормально, пока не начинают дёргать режимы авторизации.
Есть ещё два или три узких места: если админ БД сам у себя отобрал админские привилегии и если он сам себя удалил из базы.

Может действительно попробовать переписать как в системе?
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39750641
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я бы сделал новый тип данных и при авторизации запихивал бы все данные текущего юзера в переменную нового типа.
И все проверки свёл-бы к списку:
Проверка на последнего админ (блокируем чекбокс "админ")
Проверка на одинаковый логин Винды (можно просто сделать индексом)
Проверка на одинаковый локальный логин (то же самое - индекс)
Проверка на удаление самого себя (проверка при нажатии кнопки "удалить юзера")
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39750662
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav P...
Проверка на одинаковый логин Винды (можно просто сделать индексом)
Проверка на одинаковый локальный логин (то же самое - индекс)
... Я так и хотел в начале, но не получается. Они могут быть пустыми
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39750864
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Следующая версия. Пользователь и его привилегии определяются при входе в программу и действуют всю сессию.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39750915
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JossЯ так и хотел в начале, но не получается. Они могут быть пустыми
Если есть система авторизации, то логин должен быть обязательно. В винду, да в любую ОС не зайдёшь без логина. То есть, у юзера должен быть, как минимум, один из двух логинов. То есть, при создании нового юзера нельзя выйти из формы, пока не будет вбит один из двух логинов.
У тебя всего семь возможных вариантов сочетания юзеров и админов. Всё это легко укладывается в тройку IF, или один SELECT CASE.
Можно свой ENUM сделать и при входе присваивать переменной "ТекущийСеанс" значение из enum и затем пропускать через CASE.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39750923
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В ОС всегда есть юзер - Гость, под ним авторизуются анонимы, в твоём случае его можно даже не заводить в таблицы.
Можно создать новый Enum "Тип Юзера" и три значения: админ, юзер, гость. И исходя из текущего типа юзера, и выбранного режима авторизации, показывать окно для ввода пароля встроенного админ (когда в выбранном варианте авторизации нет админов), либо блокировать доступ (есть другие админы у текущей авторизации), разрешать доступ если вошедший юзер админ в этой авторизации.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39750933
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav PJossЯ так и хотел в начале, но не получается. Они могут быть пустыми
Если есть система авторизации, то логин должен быть обязательно. В винду, да в любую ОС не зайдёшь без логина. То есть, у юзера должен быть, как минимум, один из двух логинов. То есть, при создании нового юзера нельзя выйти из формы, пока не будет вбит один из двух логинов. так и сделано. попробуйте создать пользователя без логина.
Stanislav PУ тебя всего семь возможных вариантов сочетания юзеров и админов. Всё это легко укладывается в тройку IF, или один SELECT CASE.
Можно свой ENUM сделать и при входе присваивать переменной "ТекущийСеанс" значение из enum и затем пропускать через CASE. Ничего не понял. Какие сочетания? Есть пользователь. Он может быть админом. А может и не быть. Всё.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39750941
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav PВ ОС всегда есть юзер - Гость, под ним авторизуются анонимы, в твоём случае его можно даже не заводить в таблицы. Не есть, а предусмотрен. У нас на предприятии, да и у меня дома он отключен.
Stanislav PМожно создать новый Enum "Тип Юзера" и три значения: админ, юзер, гость. И исходя из текущего типа юзера, и выбранного режима авторизации, показывать окно для ввода пароля встроенного админ (когда в выбранном варианте авторизации нет админов), либо блокировать доступ (есть другие админы у текущей авторизации), разрешать доступ если вошедший юзер админ в этой авторизации. Не плодите сущности сверх необходимости. Зачем всё это?
Программа может быть без авторизации . Такую программу обычно ставят у себя на компьютере, где работает только один человек. Других пользователей не предусмотрено.
Программа может быть с Windows авторизацией. Как у меня на работе. Домен, выделенный сервер, строгие права. При входе авторизовался, зачем дёргаться ещё раз при входе в программу?
Программа может иметь авторизацию Login/Password . Это для персональных компьютеров коллективного пользования. Когда нет системщика, никто не заводит логины для каждого пользователя. И вообще возможно нет сети. Какая-нибудь малая организация. Пришел, включил компьютер, начал работать. Пришел сменщик. Встал, не выключая компьютер, пошел домой.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39750950
Озверин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss, ну все таки это не windows авторизация....
Можно добавить авторизации по логину паролю с источником из AD по ldap протоколу.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39751068
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то я в терминологии запутался... А можно разъяснить подробнее?
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39751135
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Небольшое исправление. Предусмотрел флажок "Действующий" в параметрах сотрудника, но забыл включить его контроль. Исправился. Теперь в программу могут войти только действующие сотрудники.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39751149
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JossЧто-то я в терминологии запутался... А можно разъяснить подробнее?
В операционных системах есть два типа авторизации:
1. Локальная, когда запись о пользователе храниться на этом конкретном компьютере.
2. Централизованная, когда запись о пользователе хранится в некоей системе.

Если сравнивать с твоей программой, то вариант "логин/пароль" может брать информацию о юзере не только из локальной таблицы юзеров, но и из прилинкованной, которая централизованно хранится в БД где-то на сервере и все копии твоей программы обращаются к этой таблице. LDAP, по сути - БД, для работы с ней нужна только строка подключения.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39751194
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss,

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

А откуда, при открытии БД, Оно знает, что меня нет в списке пользователей?
А Оно делает фото через Web камеру, сверяется со списками Интерпола, для надёжности ещё берёт отпечатки пальцев и фото сетчатки глаза... (шутка)

Сверяется с таблицей пользователей tbl_Users ... Ну хорошо, после открытия БД... Если это определение для Вас так важно.
Перед допуском к интерфейсу задачи. Такое определение Вас устроит, Вини?
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39751206
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav PJossЧто-то я в терминологии запутался... А можно разъяснить подробнее?
В операционных системах есть два типа авторизации:
1. Локальная, когда запись о пользователе храниться на этом конкретном компьютере.
2. Централизованная, когда запись о пользователе хранится в некоей системе.

Если сравнивать с твоей программой, то вариант "логин/пароль" может брать информацию о юзере не только из локальной таблицы юзеров, но и из прилинкованной, которая централизованно хранится в БД где-то на сервере и все копии твоей программы обращаются к этой таблице. LDAP, по сути - БД, для работы с ней нужна только строка подключения. Я там расписывал, что для сетевой работы с доменом должна использоваться Windows авторизация, а при работе на локальном компьютере - Login/Password
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39751248
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JossЯ там расписывал, что для сетевой работы с доменом должна использоваться Windows авторизация, а при работе на локальном компьютере - Login/Password
:) В Винде, которая в AD-домене можно зайти на локальный компьютер с локальным логином userA или зайти в домен с логином userA, но это абсолютно два разных юзера, хотя у них совпадает логин и может полностью совпадать ФИО.
То есть, на компьютере с именем Comp001 , есть вариант входа Comp001\User1 и вариант Domen\User1
Если рассматривать форму авторизации в отрыве от остальной безопасности в программе, то эти логины равнозначные, если же рассматривать в комплексе, то это нарушение безопасности.
Озверин тебе сказал, что по логин/паролю так-же можно авторизовываться в LDAP, то есть, это тоже windows-авторизация, но не совсем стандартным путём. Но на это можно забить.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39751251
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss,

Я так и знал, что везде шпиены.
и за нами все следят.

И ваще я не Вини, а Лапух.


Да спасибо, попытаюсь проникнуть в нутрь сути конкретного места, а то уж очень много чего у вас там понаворочено.

Да и кстати, когда открываю ваш пример, то так как у меня 2000-й и DAO приходится ручками подключать в референсах ручками, что не даёт ни чего сделать. пока не зайдешь с шифтом.
Плюс приходится снимать галочку с библиотек более поздних версий.
Не будет ли это проблемой для пользователей, у которых офис не такой как у вас?
Ибо все равно же уберете возможность пользования шифтом в конце, да ещё и в mde наверное преобразуете.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39751278
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Joss, В последней версии, если включить режим windows-авторизация и при этом либо отключить пользователя с админскими правами, либо забрать их у него, в дальнейшем нельзя никаким образом воспользоваться админскими привелегиями. То есть, придётся вызывать программиста, чтобы как-то проадминистрировать программу. Соответственно в двух других режимах этой проблемы нет.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39751300
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav PJoss, В последней версии, если включить режим windows-авторизация и при этом либо отключить пользователя с админскими правами, либо забрать их у него, в дальнейшем нельзя никаким образом воспользоваться админскими привелегиями. То есть, придётся вызывать программиста, чтобы как-то проадминистрировать программу. Соответственно в двух других режимах этой проблемы нет. это я уже просёк и в ближайших версиях доработаю. Будет возможность простому пользователю из 2-го режима переключиться в 3 режим.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39751309
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛапухJoss,

Я так и знал, что везде шпиены.
и за нами все следят.

И ваще я не Вини, а Лапух.


Да спасибо, попытаюсь проникнуть в нутрь сути конкретного места, а то уж очень много чего у вас там понаворочено.

Да и кстати, когда открываю ваш пример, то так как у меня 2000-й и DAO приходится ручками подключать в референсах ручками, что не даёт ни чего сделать. пока не зайдешь с шифтом.
Плюс приходится снимать галочку с библиотек более поздних версий.
Не будет ли это проблемой для пользователей, у которых офис не такой как у вас?
Ибо все равно же уберете возможность пользования шифтом в конце, да ещё и в mde наверное преобразуете.
На счёт Вини. Просто вспомнилось

Код: plaintext
1.
2.
Пух: - Послушайте ТС, Дурацкий какой то у Вас План.
ТС: - Да, я знаю. Ну так Вы со мной?
Пух: - Естественно.

У меня самая младшая версия на компе - 2003. Могу выкладывать в ней. Или в двух вариантах: под DAO и под ACE. Но я ещё и под Access 64 bit тестировал. Вот и не поменял. Кстати. У можно отдельно скачать провайдер ACE и поставить у себя не переустанавливая офис. Может сделаете? Будет проще с примерами.
И ещё, настоятельно рекомендую поставить Office 2003 Portable. Выручал неоднократно. Никаких конфликтов с другими. Свободно работает в параллель с 64-х битными версиями офиса.

Я начал с очень простого, если посмотрите с первого поста. Но меня стали критиковать за недоделанность, Я тогда сразу написал, что все замечания можно устранить, но код вырастет и потеряет наглядность. Так и вышло.
Или режешь функциональность или мирись с увеличением объёма кода.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39751446
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss,

Ну прям ни че не скрыть, ни где не затаиться.

Точно везде камеры и шпиены.

По существу, я не особый Конспиролог и шифровальщик, просто смотрю, все кому не лень тестируют, думаю тоже руку приложу.
Я просто так, смотрю пример и развитие событий для интереса, вдруг лет через 50-100 тоже захочется сотворить нечто подобное, но пока другие "дурацких планов" навалом.
Так что ради меня ни чего подлаживать не стоит, просто подумалось, вдруг не учли такую оказию, как у меня, типа 2000 акс.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39751636
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно окончательный вариант.

Для переключения из Windows авторизации в Login/Password авторизацию теперь рядовому пользователю (не администратору) надо зайти в режим "Сервис". Там появится специальная кнопка для изменения режима авторизации. Нажмите её. Программа запросит код администратора. Введите его. Программа изменит тип авторизации и закроется. Запустите программу заново. У вас будет режим Login/Password авторизации.

Добавлено предупреждение, если Вы захотите удалить сами себя из списка пользователей программы.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39752708
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никто ещё не проверял или нет ошибок?
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39752808
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не смотрел, так как проведённое ранее тестирование и просмотр твоего кода натолкнули на идею переписать свой модуль авторизации.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39752818
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и как? Выложишь для просмотра и обсуждения?

Будет время - посмотри. Много доработал по твоим замечаниям.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39752830
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, потестирую, как будет время.
Свой вариант тоже выложу.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39753952
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПЕНСИОНЕРКА,

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

проба
я подошла к подобной проблеме немного по другому
--стандартный запрос логина (из списка) и пароля
--запоминается код доступа(0-админ,1-начальник группы,2-рядовой исполнитель по задаче КАД?Ы, 3-по ЗА?ПЛАТА.....)
--есть таблица формы, где в поле статус --перечень кодов доступа(код, имя формы или отчета, статус...)

затем выход на главную форму, где в виде списка высвечивается доступный для данного пользователя список задач

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

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

Самый первый мой пример как раз содержал остатки такой задачи. Таблицы отделов, должностей, организаций. Но потом я их убрал, чтоб не захламлять задачу.

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

... остается только искать задачи и тех, кто готов заплатить за решение этих задач...
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39754614
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Версия: 0.7.19
Запускаем в первый раз. Заходим без логина. Заходим в таблицу пользователей и нажимаем кнопку изменить. Нам предлагают ввести пароль Админа, что мы и делаем. Закрываем форму изменения пользователя без внесения каких-либо изменений. Заходим в "Сервис" и нажимаем кнопку "сменить пароль текущего юзера". Нам предлагают ввести пароль админа, что мы и делаем, затем появляется окно ввода нового пароля, вводим пароль (не уверен, что это важно, но я вводил 121212). Получаем ошибку на скриншоте.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39754617
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Те-же операции в других режимах этой ошибки не вызывают.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39754683
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav P, спасибо. Буду смотреть.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39754698
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исправленная версия
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39754876
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Версия 0.7.20

Заходим в первый раз раз без логина. Удаляем все записи юзеров, вводя каждый раз пароль админа. Переключаемся в Windows-авторизацию, введя пароль админа. Выходим. Заходим. Нам сообщают, что нас нет в базе и предлагают войти под встроенным админом, чтоб мы и делаем. Создаём юзера с локальным логином, даём ему админские права. Выходим. Заходим под правами вновь созданного юзера-админа. Идём в "Сервис\Смена пароля текущего юзера" и получаем приложенную ошибку.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39754931
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пробежался по коду программы, ты везде делаешь селект делаешь по имени. На мой взгляд, это лучше делать по id юзера, который запихнуть в переменную. А тому-же встроенному админу присвоить нулевой ID. Тогда код программы можно значительно упростить и избежать ошибок с нулевым кол-вом строк из селекта.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39754974
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav PПробежался по коду программы, ты везде делаешь селект делаешь по имени. На мой взгляд, это лучше делать по id юзера, который запихнуть в переменную. А тому-же встроенному админу присвоить нулевой ID. Тогда код программы можно значительно упростить и избежать ошибок с нулевым кол-вом строк из селекта.
Спасибо за тестирование. В одних местах я уже переделал под Id, а в некоторых ещё остались. Буду разбираться и с этой ошибкой.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39754988
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav PВерсия 0.7.20

Заходим в первый раз раз без логина. Удаляем все записи юзеров, вводя каждый раз пароль админа. Переключаемся в Windows-авторизацию, введя пароль админа. Выходим. Заходим. Нам сообщают, что нас нет в базе и предлагают войти под встроенным админом, чтоб мы и делаем. Создаём юзера с локальным логином, даём ему админские права. Выходим. Заходим под правами вновь созданного юзера-админа. Идём в "Сервис\Смена пароля текущего юзера" и получаем приложенную ошибку.

Что-то Вы здесь пропустили в описании своих действий. Чтобы зайти под правами вновь созданного юзера Вам надо переключиться в режим Login/Passord Ведь, как Вы пишите, Вы создали пользователя с локальным логином. Под Виндовс авторизацией Вы бы просто не смогли бы войти таким пользователем.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39755001
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот, подправил изменение пароля. Определение пользователя по его коду, а не по логину.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39755384
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Последняя версия (0.7.21) позволяет вводить логины с пробелом вначале. Но при входе с таким логином, пишет, что такого юзера нет.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39755450
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавил обрезание незначащих пробелов при задании логинов.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39755726
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С версией 0.7.22 вроде всё ок.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39755868
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за тестирование. Буду надеяться, что это окончательный варант.

Теперь, наверное на основе этого модуля можно попробовать набросать систему разграничения. Или доступа по привилегиям.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39789875
Animatrin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Мн модуль очень понравился, удобный, да и собственно есть все примочки.
Но есть ли возможность при входе обычного юзера (на администратора) скрыть нижние баттоны (btnManger, btnServis)?
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39790774
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Та кто ж тебе мешает? Это вообще-то стартовая форма и сделана только для этой программы. Делай для себя как тебе удобно.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39790789
Animatrin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Joss, не подскажешь как сделать?
я в VBA слабоват :(
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39792466
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Режим конструктора. Вызываете для элемента окно "Свойства" через контекстное меню. Первая вкладка "Макет". Параметр "Вывод на экран" (обычно третий сверху) Измените значение с "Да" на "Нет". Сохраните. Всё.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39792682
Animatrin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Joss, не настолько слабоват :) имел ввиду разграничить видимость для Администраторов и Обычных пользователей
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39792713
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При загрузки формы в секции Form_Load() вставляешь проверку, на привилегии пользователя. И от результата проверки проверки делаешь
Код: vbnet
1.
   Me.btnManager.Visible = False

или
Код: vbnet
1.
   Me.btnManager.Visible = True

Так же и для второй кнопки.

Ну посмотри форму frm_ListUsers и сделай по аналогии
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39792733
Animatrin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Joss, Сделано получилось!
Спасибо огромнейшее!
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39835308
vitbv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет сообществу! Автору особое уважение!!! Модуль понравился. Не разобрался с применением многопользовательского режима.
У меня разделенная база ACCESS 2016. Таблицы на файл сервере (на SQL пока не перехожу, пробовал, составил мнение, решил повременить.). Пользователей до 15 человек. Входят по одному клиентскому модулю с формами запросами отчетами и т.д. Давно требуется разделение прав. Еще хотелось бы зашифровать базу средствами Access. Но тогда придется по видимому в клиентском модуле хранить пароль базы?

А теперь уважаемые знатоки!
Внимание Вопрос:
Как прикрутить модуль к действующей разделенной базе данных?
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39836121
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А по конкретнее? Что не получается?
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39836165
vitbv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так я и не пробовал. Мое понимание: объединить этот модуль со своим модулем через экспорт импорт и назначить запуск моей кнопочной формы при положительном входе.
Но лучше прошу проинструктировать.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39837315
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тяжелый случай. (шутка)
Надо импортировать модули, таблицы, формы.
Мой модуль подключается в макросе autoexec
Если у Вас есть свои таблицы для пользователей, то надо совместить их с таблицами модуля.
Что ещё надо сделать? Это надо смотреть уже вашу программу.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39837376
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vitbvТак я и не пробовал. Мое понимание: объединить этот модуль со своим модулем через экспорт импорт и назначить запуск моей кнопочной формы при положительном входе.

Ну, если б все так было просто... Сделал "Привет Мир!", скрестил с виндой 10 и получил свою винду 11...
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39837516
vitbv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
JossТяжелый случай. (шутка)
Надо импортировать модули, таблицы, формы.
Мой модуль подключается в макросе autoexec
Если у Вас есть свои таблицы для пользователей, то надо совместить их с таблицами модуля.
Что ещё надо сделать? Это надо смотреть уже вашу программу.

Спасибо!
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39837547
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vitbv,

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

А может ну её, эту авторизацию на MS Accees....?
C вашим то уровнем VBA и понимания работы СУБД можете мгновенно перестроиться, и пересадить в пару кликов ваш проект на MySQL. C нормальной авторизацией и аутентификацией на сервере. Там по сути всё то же самое , только дополнительные бонусы в виде триггеров нормальных, сохраненных процедур,функций, и транзакции уже подвезли. И можно писать параллельно веб интерфейс с народным пэхапэ, js и пр.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39837748
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей ЛаловJoss,

А может ну её, эту авторизацию на MS Accees....?
C вашим то уровнем VBA и понимания работы СУБД можете мгновенно перестроиться, и пересадить в пару кликов ваш проект на MySQL. C нормальной авторизацией и аутентификацией на сервере. Там по сути всё то же самое , только дополнительные бонусы в виде триггеров нормальных, сохраненных процедур,функций, и транзакции уже подвезли. И можно писать параллельно веб интерфейс с народным пэхапэ, js и пр.
А почему не на MS SQL Server? Или это сейчас не актуально?
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39837958
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Joss]Сергей ЛаловJoss,

А почему не на MS SQL Server? Или это сейчас не актуально?

Почему, актуально конечно же.

Только MySql бесплатен изначально (без всяких light,express и проч.), скачивается и ставится за 5 минут, и очень прост в обслуживании. По скорости работы он быстрей гораздо MS SQL (это с оговоркой ,что если сравнивать запуская на обычном компе, а то тапками закидают. Хотя думаю что и на железном сервере при равных условиях установки MySQLтоже быстрей будет.)

Также в два клика настраивается доступ к серверу MySQL извне- Интернет/локальная сеть (в бесплатных модификациях MS SQL server об это можно сломать кулаки/голову , в зависимости от того чем бьетесь:)

Также если вдруг захочется под MS SQL писать под web , то надо будет поднимать IIS , а он в своей нормальной рабочей ипостаси не бесплатен. В общем если MS SQL то это деньги,деньги,деньги..

Также как правило к MySQL уже идет в сборке бесплатный веб сервер, удобное средство администрирования и много чего еще.

К примеру если у вас Windows , посмотрите сборку Wamp Server .


Для меня ключевым выбором сервера стало - быстрей,проще,бесплатно,безопасно, + мгновенная доп.возможность писать на php+js+mysql (в рамках этой же бд , с которой работает MS Access.)
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39837982
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей ЛаловИ можно писать параллельно веб интерфейс с народным пэхапэ, js и пр.
Вы сами то пробывали писать нормальный интерфейс на этом народном добре?
Как успехи?
Только не надо про сайты.
Конкретно писали клиента к базе данных?
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39838001
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROI,

В чистом народном добре, без фреймворков давно не пишут. Сейчас , снова возникла необходимость, изучил java, написал простенькое приложение под Андроид , андроид лучше всего работает с json ,и веб запросами а не с odbc, наклепал crud в php.
Php чистый, зачем усложнять то )) мне не сайты писать под заказ , а простую админку, пользования бд . Это на ангуляре буду делать, и то, ради удовольствия.

А на ms access + mysql уже давно пишу, и для себя и на заказ) под логистику,закупки, транспорт,таможню. Недавно для РАМН запилил поделку, полезную.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39838009
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Лаловбез фреймворков давно не пишут.
Это где вы их применяете.
Почитал я ваши топики там вы себя позиционируете как "начинающий"
Где жы вы успели пописать на фреймвёрках?
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39838029
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROIСергей Лаловбез фреймворков давно не пишут.
Это где вы их применяете.
Почитал я ваши топики там вы себя позиционируете как "начинающий"
Где жы вы успели пописать на фреймвёрках?

В компании ЦентрОбувь , 6 лет назад, когда работал там логистом. Сделал простенький веб интерфейс на три таблицы, используя Jquery + php + mysql.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39838031
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot ROI]Сергей ЛаловПочитал я ваши топики там вы себя позиционируете как "начинающий"

Да, в web начинающий по сути то. Я же в соседних ветках и не скрываю этого.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39838041
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROIТолько не надо про сайты.
А почему именно не надо про сайты ?
ROIКонкретно писали клиента к базе данных?
А в чем проблема , то ? Нужно только захотеть.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39838043
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей ЛаловСделал простенький веб интерфейс на три таблицы, используя Jquery + php + mysql.
Ну ваще то основой веб интерфейса является HTML , его еще никто не отменял, а jQurery это всего лишь библиотека, а php так вообще серверный язык программирования . :))
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39838060
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkManСергей ЛаловСделал простенький веб интерфейс на три таблицы, используя Jquery + php + mysql.
Ну ваще то основой веб интерфейса является HTML , его еще никто не отменял, а jQurery это всего лишь библиотека, а php так вообще серверный язык программирования . :))

Спасибо, открыл глаза))) вселенная перевернулась от твоих слов. ))) Ваще это и так ясно))
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39838081
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В этой теме топика обсуждается авторизация на ms access. Пока не потерялась нить обсуждения, ещё раз хочу предложить связку ms access + mysql. Связь через mysql odbc, таблицы переносятся на сервер минуты за три (через этот же самый драйвер,которы потом служит формой авторизации пользователя).
Тестировал эксперементировал , просто ради интереса, 1млн строк в таблице/табличной форме ,примерно с 30 полями разного типа обрабатывает довольно шустро. В настройках драйвера желательно установить big int , и реконнект.
Во время первого захода чуть подтупливает при таком количестве,но потом кэшируется и не замечаешь.

Также лучше создавать базу myIsam , а не innodb, потому что связи между таблицами/запросами можно сделать на стороне ms access. В контейнерах форм к примеру. Это тоже даст прирост производительности.

Также на стороне сервера работает интерфейс оптимизации запросов. При накоплении статистики запросов он позволяет также оптимизировать скорость работы базки.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39838112
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей ЛаловТакже лучше создавать базу myIsam , а не innodb,

Придется ковырять закрома... посмотрел своих провайдеров - по мускулю поддержка только именно innodb 5.0, 5.5 и 5.7... получается только для своего огорода...
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39838126
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmagСергей ЛаловТакже лучше создавать базу myIsam , а не innodb,

Придется ковырять закрома... посмотрел своих провайдеров - по мускулю поддержка только именно innodb 5.0, 5.5 и 5.7... получается только для своего огорода...

Так не, с INNODB тоже все работает, можно в MyIsam,можно в innodb. В каком формате у вас база не важно, поедет все и так и так.
мне просто связи таблиц и транзакции не нужны на серверной БД, поэтому и myisam. В моем случае myisam быстрей innodb. Потому что у меня основное действия только SELECT со стороны пользователя бд. а остальные типы запросов точечные, в рамках изменения одной строки. В интернете много споров на эту тему, что лучше. у меня опытным путем выяснилось что myisam быстрее.

Есть небольшая таблица сравнений:
таблица сравнений
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39838991
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати еще один позитивный и очень важный момент работы с MySQL, забыл сказать. (Это в принципе относиться ко всем связкам MS Access, MySQL,MS SQL, Postgress e.t.c..)
База не распухает во время использования. Не надо использовать сжать и восстановить. От слова совсем.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39839011
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей ЛаловКстати еще один позитивный и очень важный момент работы с MySQL, забыл сказать. (Это в принципе относиться ко всем связкам MS Access, MySQL,MS SQL, Postgress e.t.c..)
База не распухает во время использования. Не надо использовать сжать и восстановить. От слова совсем.
Движок InnoDB не поддерживает уменьшение размеров файлов БД — это принципиальное ограничение. Единственный способ уменьшить размер БД — сделать дамп, переинициализировать хранилище, восстановить из дампа. Увы, это действительно так.
База распухает(чудес не бывает)
А вот похудеть не так просто.
Не морочте людям голову.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39839080
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей Лалов,

К любому "что-то там SQL" прилагается админ, которому нужны денежки. Файл с БД от Access может положить в любое место любой секретарь или любой другой юзер и это не будет стоить дополнительных затрат.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39839245
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ROIСергей ЛаловКстати еще один позитивный и очень важный момент работы с MySQL, забыл сказать. (Это в принципе относиться ко всем связкам MS Access, MySQL,MS SQL, Postgress e.t.c..)
База не распухает во время использования. Не надо использовать сжать и восстановить. От слова совсем.
Движок InnoDB не поддерживает уменьшение размеров файлов БД — это принципиальное ограничение. Единственный способ уменьшить размер БД — сделать дамп, переинициализировать хранилище, восстановить из дампа. Увы, это действительно так.
База распухает(чудес не бывает)
А вот похудеть не так просто.
Не морочте людям голову.

Вы не поняли, о чем я пишу. Разберитесь сначала. При использовании файла аксесс с родными таблицами и jetSql ,при регулярном использовании ,клиентская часть приложения несоразмерно увеличивается. При активном использовании аксесса, к примеру с утра вес базы 3,5 мб, а к окончанию рабочего дня в районе 20мб. Это не связано с увеличением данных в таблицах ,либо загрузкой картинок в БД к примеру. Это связано с особенностями самого аксесса, с его неоптимальным способом кэшировать информацию.
Чтобы решить проблему на стороне аксесса приходится сжимать и восстанавливать БД. (аксесовскую БД) чтобы уменьшить размер файла.
При переходе на ms access + mysql этой проблемы нет. Читай хоть о чем я пишу.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39839247
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stanislav PСергей Лалов,

К любому "что-то там SQL" прилагается админ, которому нужны денежки. Файл с БД от Access может положить в любое место любой секретарь или любой другой юзер и это не будет стоить дополнительных затрат.

У вас наверное тяжело пошло программирование. С обслуживанием mysql (один сервер, одна база) разберется один сознательный семиклассник.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39839254
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати по поводу увеличения размеров бд , на этот раз на mysql- еще один плюс в сторону MyIsam.
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39858676
Nebo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39858782
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NeboСергей Лалов,

https://stackoverflow.com/questions/5842/issues-using-ms-access-as-a-front-end-to-a-mysql-database-back-end#9200

Так я то использую связку ms access + mysql ч/з odbc уже наверное седьмой год) Уже набил руку так сказать) Аксесс работает как клиент. Таблицы линкуются через odbc. Аутентификация на стороне mysql. Как говорится все Ок)
...
Рейтинг: 0 / 0
Модуль авторизации. Тестирование и обсуждение
    #39860352
Stanislav P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей Лалов С обслуживанием mysql (один сервер, одна база) разберется один сознательный семиклассник.
Которому нужно платить денежку.
...
Рейтинг: 0 / 0
160 сообщений из 160, показаны все 7 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Модуль авторизации. Тестирование и обсуждение
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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