|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Недавно пришлось пришлось полазить по интернету для поиска подходящего способа авторизации пользователей в программе. Того, чего хотелось не нашел. Пришлось разрабатывать самому, используя старые наработки и сведя всё в кучу. Вот выкладываю на суд то, что получилось. Выдрано из рабочей программы, так что есть лишние таблицы и формы. Модуль авторизации Прежде чем продолжить работу над работами (фу, тавталогия...) решил сделать модуль авторизации пользователей. Пригодится. Данный модуль имеет 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-ти миллиардное состояние Билла Гейтса? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 16:07 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
JossПопробуйте, как работает и выскажите своё мнение. Вроде работает, не очень хорошо хранение паролей в явном виде, звездочки тоже фигня, желательно шифровать пароли, а лучше вместо них хранить контрольную сумму пароля (и короче и не понять что это такое) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 18:53 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
1. Переключил в режим: 3. авторизация по Login/Password 2. Перезапустился. 3. По форме ввода логина райт клик "Конструктор форм". 4. F11 Ну вот я и в хопре (с) :) ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 19:23 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Заодно: Не надо принудительно распахивать окно Access во весь экран. Доверьте эту миссию пользователю. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 19:26 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Ну что ответить на замечания? Это пример не по взлому защиты, а по организации авторизации пользователей. То, что пароли надо шифровать, я догадываюсь. В следующей версии могу реализовать. Сюда не пихал, чтоб был наглядней принцип и алгоритм авторизации. Кстати, по-этому и никакие защиты не ставил. Не от Shift, ни отключение спецклавишь, ни пароль на VBA. А вообще, каково впечатление? Без замечания на шифрование паролей, открытия панели навигации и Shifta. Про то, что звёздочки можно расшифровать - я знаю. Даже где-то программа валялась - кажется asterics называется. Но вы упустили из вида, что звёздочки - это от подглядывания. Чтоб запустить программу, надо сидеть за клавой. А тот, кто вводит пароль и так его знает. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 20:35 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Joss... Это пример не по взлому защиты, а по организации авторизации пользователей... dic.academic.ruАвторизация (от английского «Authorization») – понятие, изначально использовавшееся в банковской сфере, в области платежных карт и означает процедуру идентификации лица для предоставления доступа к неким ресурсам или возможностям, имеющим ограниченный доступ... Этот пример не показывает решения основной задачи авторизации пользователей. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 20:49 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Joss, принцип присвоил и забыл тут уже не действует, все время нужно будет изменять что-то (а если не менять то зачем тогда вводить) - если эти данные нужны, то нужно брать их наверное из учетно-кадровой программы (в которой есть приказы и пр.-которую ведет сотрудник, отвечающий за верность данных), в общем случае мне кажется что самое лучшее это логин/пароль - причем вводить пароль и определять логин и все. исходя из логина - права и роли - здесь этого нет (или выбор отдела это и есть оно?). кнопку лог в список сотрудников наверное нужно добавить. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 21:16 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
JossА вообще, каково впечатление? Без замечания на шифрование паролей, открытия панели навигации и Shifta. Да ничего так, один из завершающих штрихов перед созданием коробочного варианта, без паролей как-то и приложение не приложение... единственное без инструкции не догадаешься что есть пароли (не зря же сам подробно все расписал)... Логичнее с самой первой формы узнать что ты Администратор и ты можешь зайти без пароля ибо он пока не задан... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 21:32 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Predeclareddic.academic.ruАвторизация (от английского «Authorization») – понятие, изначально использовавшееся в банковской сфере, в области платежных карт и означает процедуру идентификации лица для предоставления доступа к неким ресурсам или возможностям, имеющим ограниченный доступ... Этот пример не показывает решения основной задачи авторизации пользователей. Вы хотите сказать, что этот пример не решает задачу идентификации пользователя? И почему же? Программа может эксплуатироваться в разных условиях Может требоваться идентификация, может - нет. Здесь даны два метода идентификации пользователей. Windows и Login/Password. И давайте разделять задачи. Задачу закрыть доступ злоумышленнику к таблицам и коду и задачу разграничить доступ пользователям к информации средствами программы. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 23:08 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
aleckoJoss, принцип присвоил и забыл тут уже не действует, все время нужно будет изменять что-то (а если не менять то зачем тогда вводить) - если эти данные нужны, то нужно брать их наверное из учетно-кадровой программы (в которой есть приказы и пр.-которую ведет сотрудник, отвечающий за верность данных), в общем случае мне кажется что самое лучшее это логин/пароль - причем вводить пароль и определять логин и все. исходя из логина - права и роли - здесь этого нет (или выбор отдела это и есть оно?). кнопку лог в список сотрудников наверное нужно добавить. Похоже, Вы не совсем поняли проблему. Есть задача в которой работает несколько человек. Надо протоколировать их работу (некоторую) и разграничить доступ к информации (определённой). Никаких кадровых программ тут не надо. Это хвосты той программы, из которой я выдрал этот кусок. Что бы работать с программой пользователь должен себя идентифицировать. А дальше вступают в действие роли, прописанные в программе. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 23:27 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Да. Во первых, я показал как легко обойти авторизацию данного примера . Ну да бог с ним. Во вторых: dic.academic.ru... для предоставления доступа к неким ресурсам или возможностям, имеющим ограниченный доступ... в примере этого нет. Различных наборов меню для пользователей разных ролей нет. Разных наборов записей в формах/отчетах для пользователей разных ролей нет. Нет ничего, за что можно было бы зацепиться глазом. Студентам может сгодится, сдать зачет и забыть. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2018, 23:33 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
PredeclaredДа. Во первых, я показал как легко обойти авторизацию данного примера . Ну да бог с ним. Во вторых: dic.academic.ru... для предоставления доступа к неким ресурсам или возможностям, имеющим ограниченный доступ... в примере этого нет. Различных наборов меню для пользователей разных ролей нет. Разных наборов записей в формах/отчетах для пользователей разных ролей нет. Нет ничего, за что можно было бы зацепиться глазом. Студентам может сгодится, сдать зачет и забыть. Так Вам что, в качестве примера всю задачу выложить? Тяжеловат он будет. Да и бесполезен. Ведь для каждой задачи надо писать свои меню, свои роли. Здесь же я хотел показать кусочек задачи: вход в программу с идентификацией пользователя. Как задать пароль, как войти, способы идентификации. Если хотите посмотреть как реализовано разделение по ролям, с запретом определённых действий и информации, то добро пожаловать вот сюда Программа для ведения учета автотранспорта и дорожно-строительных механизмов В предпоследнем комменте версия для Access 2000. Вот тут А чуть выше мы с пользователем Roja обсуждали защиту. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 08:42 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Joss, наверное, windows авторизацию можно переделать. На SID пользователя или хотя бы определять рабочую группу\домен пользователя+логин по понятным причинам. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 09:01 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
vmagВроде работает, не очень хорошо хранение паролей в явном виде, звездочки тоже фигня, желательно шифровать пароли, а лучше вместо них хранить контрольную сумму пароля (и короче и не понять что это такое) Ну, если злоумышленник смог добраться до таблиц, то тут шифруйся - не шифруйся - всё едино. Прописаны пароли только для Login/Password авторизации. А там либо копируешь в свою запись привилегии начальника, либо копируешь в запись начальника свой пароль и заходишь как начальник, под его логином. У себя на работе я везде сделал Windows авторизацию. Её обойти чуть-чуть сложнее. Но не намного. Повторяю: если злоумышленник смог добраться до таблиц, то всё остальное дело времени. Или шифровка не отдельных полей, а целых записей. Только быстродействие резко просядет. И трудоёмкость разработки резко возрастёт. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 09:05 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Joss, а я бы если бы перевел пользователей на access 2007+ - ввел бы авторизацию по времеенному паролю, который высылал бы на телефон ;) Пароль действует 8 часов и баста ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 09:22 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
ОзверинJoss, а я бы если бы перевел пользователей на access 2007+ - ввел бы авторизацию по времеенному паролю, который высылал бы на телефон ;) Пароль действует 8 часов и баста И вообще саму аутентификацию вынес бы за рамки Акса..набросал бы сервис аутентификации или использовал бы сторонний, например - гугл. Вход через гугл учетку - модно\молодежно! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 09:23 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
ОзверинJoss, наверное, windows авторизацию можно переделать. На SID пользователя или хотя бы определять рабочую группу\домен пользователя+логин по понятным причинам. Честно говоря не вижу причин для переделки. Очень страшно секретные данные в такой базе хранить не станешь. А если база стащена и получен доступ к таблицам, то остальное только дело времени и упорства. Да, и такой вопрос. Если Вы вошли в сеть с другого компьютера (ваш забрали на ремонт) То Ваш SID изменится? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 09:24 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
JossОзверинJoss, наверное, windows авторизацию можно переделать. На SID пользователя или хотя бы определять рабочую группу\домен пользователя+логин по понятным причинам. Честно говоря не вижу причин для переделки. Очень страшно секретные данные в такой базе хранить не станешь. А если база стащена и получен доступ к таблицам, то остальное только дело времени и упорства. Да, и такой вопрос. Если Вы вошли в сеть с другого компьютера (ваш забрали на ремонт) То Ваш SID изменится? Нет, не изменится. Но если у вас пользователи имеют возможность сменить себе логин или завести нового локального пользователя - то как бе не проблема зайти под кем угодно. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 09:26 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Joss, а смысл тащить клиента? В нем же нет данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 09:27 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
ОзверинОзверинJoss, а я бы если бы перевел пользователей на access 2007+ - ввел бы авторизацию по времеенному паролю, который высылал бы на телефон ;) Пароль действует 8 часов и баста И вообще саму аутентификацию вынес бы за рамки Акса..набросал бы сервис аутентификации или использовал бы сторонний, например - гугл. Вход через гугл учетку - модно\молодежно! Вы немного увлеклись. Я хочу получить обычную садовую тачку для перевозки песка и земли, а Вы мне предлагаете автоматическую грузовую платформу с дистанционным управлением и GPS навигацией. Нет у меня задач под такую защиту. Начальство/заказчик просто хочет, чтоб Вася и Коля, которые работают с этой программой не лезли в дела/записи друг друга, И чтобы Витя, которому до этих задач вообще нет дела, не совал бы свой любопытный нос куда не надо. И чтобы оно (начальство) всегда могло определить кто, что натворил и кого за это иметь. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 09:34 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
JossОзверинпропущено... И вообще саму аутентификацию вынес бы за рамки Акса..набросал бы сервис аутентификации или использовал бы сторонний, например - гугл. Вход через гугл учетку - модно\молодежно! Вы немного увлеклись. Я хочу получить обычную садовую тачку для перевозки песка и земли, а Вы мне предлагаете автоматическую грузовую платформу с дистанционным управлением и GPS навигацией. Нет у меня задач под такую защиту. Начальство/заказчик просто хочет, чтоб Вася и Коля, которые работают с этой программой не лезли в дела/записи друг друга, И чтобы Витя, которому до этих задач вообще нет дела, не совал бы свой любопытный нос куда не надо. И чтобы оно (начальство) всегда могло определить кто, что натворил и кого за это иметь. да я понимаю. Но ведь люди должны уставать клепать садовые тележки...А то, что вы заявили, есть в бесплатном доступе - зачем это создавать по сто раз, да еще и на устаревших технологиях? Вон, пусть берут какую нить модную бесплатную CRM и crmят там. Допустим, тот же битрикс24(облако) до 12 человек бесплатен. Или какую нить опенсурс качают да используют. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 09:36 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Озверин... Но если у вас пользователи имеют возможность сменить себе логин или завести нового локального пользователя - то как бе не проблема зайти под кем угодно. Это Вы о моей программе? Для авторизации Login/Password ? Или о Windows? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 09:41 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
JossОзверин... Но если у вас пользователи имеют возможность сменить себе логин или завести нового локального пользователя - то как бе не проблема зайти под кем угодно. Это Вы о моей программе? Для авторизации Login/Password ? Или о Windows? я так подумал, что это будущая crm система ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 09:45 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Озверин... да я понимаю. Но ведь люди должны уставать клепать садовые тележки...А то, что вы заявили, есть в бесплатном доступе - зачем это создавать по сто раз, да еще и на устаревших технологиях? Вон, пусть берут какую нить модную бесплатную CRM и crmят там. Допустим, тот же битрикс24(облако) до 12 человек бесплатен. Или какую нить опенсурс качают да используют. Да нет. Про CRM всё понятно. Это вообще не моя разработка, а evgenii3000 . Наткнулся я на неё решая свои задачи. Я и не собираюсь её развивать (может как-нибудь для какого-то конкретного случая). Я на ней хочу просто одну идею отработать. Сделаю - выложу для обсуждения. А сейчас меня интересует только модуль авторизации. Его узкие места. Я сейчас возьму перерыв, почищу всё лишнее, что-бы не смущать людей. Уберу лишние таблицы, формы, запросы. Просто хочу получить законченный модуль, который потом можно будет легко встраивать в другие программы. А потом уже прописывать роли и всё прочее. P.S. Исходный пример был в формате A2007. Я специально перевел модуль в формат A2000, что бы больше людей с ним тут ознакомилось. P.S.S. Но ведь люди должны уставать клепать садовые тележки... (с) Да. Я устал. Но делать космические корабли мне не предлагают. А садовые тележки с моторчиками иногда пользуются спросом. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 10:01 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Вот новая версия модуля авторизации. Подчистил хвосты. Убрал все дополнительные таблицы и формы. Теперь ничего не должно отвлекать. Что не сделал. Не сделал шифрование пароля. Если надо, то сделаю в следующей версии. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 12:29 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Joss, для входа, пароль вводить необязательно. ввел Логин, зашел, можно завести нового пользователя. вобщем никаких ограничений. и это окно при выходе... может просто перенести кнопку выхода вверх вправо - и не спрашивать очевидное? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 13:23 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
aleckoJoss, для входа, пароль вводить необязательно. ввел Логин, зашел, можно завести нового пользователя. вобщем никаких ограничений. и это окно при выходе... может просто перенести кнопку выхода вверх вправо - и не спрашивать очевидное?Ну поставил бы я опрос на возможность добавлять пользователей только админу? Ну и что? Просто у нас в организации немного другая политика взаимодействия между пользователями, админами/разработчиками баз данных и админами сети. Пользователей Windows добавляет, выделяет сетевые ресурсы и изменяет параметры только админ сети. Админ/разраб БД делает первичную настройку программы, прописывает пути к таблицам, резервное копирование, раздаёт первичные привилегии в базе. А потом уже ответственный за базу в отделе, чаще всего старший группы, сектора, реже - отдела, вносит новых пользователей, даёт им привилегии, прописывает роли. Хотя кое в чём Вы и правы. Надо в примере для рядовых пользователей ввести запрет на изменение, добавление новых пользователей. Доработаю - выложу. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 14:12 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Новая версия программа. Теперь добавить удалить и изменить параметры, а так же сменить способ авторизации может или "Admin" или пользователь с администраторскими привилегиями. В параметрах пользователя появился флажок "Администратор" ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 16:01 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Joss, может добавить суперюзера? (который имеет право создавать/изменять юзеров своего отдела) админу оставить права на создание этих суперюзеров только. для входа также не нужен пароль - хватает логина. окна с ругательствами заменил бы на Enabled=false кнопок или даже .visible=false. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 16:28 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Подумаю. На счёт ругательств согласен. Лень было код дописывать. На счёт суперюзера не понял. Чем флажок "Администратор" не устраивает? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 16:35 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Двигаемся по github-way: https://github.com/cudu/ms-access-2007-authorization ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 16:44 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Озверин, и что это значит? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 16:49 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Joss На счёт суперюзера не понял. Чем флажок "Администратор" не устраивает? админ не знает кто в каком отделе с чем работает, соответственно не сможет эффективно управлять ролями и правами на работу с документами, при этом их может эффективно раздавать суперюзер, который при этом в остальных случаях - обычный юзер (управление настройками программы, архивирование, обслуживание базы) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 17:40 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Озверин, а почему *.txt , а не *.bas и *.cls ? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 18:35 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
ПанургОзверин, а почему *.txt , а не *.bas и *.cls ? потому что встроенный saveastext сохраняет в txt, соответственно, встроенный loadfromtext - из txt загружает все обратно. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 22:21 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
JossОзверин, и что это значит? что твой код можно посмотреть на гитхабе. можно загрузить его. изменить - вдруг комьюнити подключится. По-хорошему, следует избавиться от русских букв в комментариях и сообщениях ) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2018, 22:25 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
ОзверинJossОзверин, и что это значит? что твой код можно посмотреть на гитхабе. можно загрузить его. изменить - вдруг комьюнити подключится. По-хорошему, следует избавиться от русских букв в комментариях и сообщениях ) Можно конечно всё на English перевести, но я сомневаюсь, что кого-нибудь из-за бугра это заинтересует. А у нас дай бог что бы без ошибок по-русски писали. P.S. Честно говоря, я не знаю что такое гитхаб. Позор на мою лысую голову... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2018, 08:31 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Вчера дома дорабатывал модуль по предложениям aleco. Но вот куда потом его скинул, найти не могу. Сейчас загрузили работой. Или вечером посмотрю дома или когда освобожусь попробую наработки восстановить по памяти. И на счёт шифрования пароля в таблице. Если я выложу программу шифрования, то любой сможет расшифровать зашифрованное, тогда зачем она? Любители могут посмотреть на сайте NSA пример по шифровке данных в таблице. Могу его встроить в модуль. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2018, 08:41 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Озверинпотому что встроенный saveastext сохраняет в txt, соответственно, встроенный loadfromtext - из txt загружает все обратно.экспортом пользоваться не пробовал? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2018, 09:45 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
upd. У классов могут быть специальные настройки и скрытые атрибуты, я не уверен что они сохранятся подобным способом. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2018, 09:47 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Панургupd. У классов могут быть специальные настройки и скрытые атрибуты, я не уверен что они сохранятся подобным способом. все работает как часы. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2018, 09:48 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
ПанургОзверинпотому что встроенный saveastext сохраняет в txt, соответственно, встроенный loadfromtext - из txt загружает все обратно.экспортом пользоваться не пробовал? экспортом чего и куда? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2018, 09:48 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
JossЕсли я выложу программу шифрования, то любой сможет расшифровать зашифрованное, тогда зачем она?Пароли не шифруют, хранят хэш. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2018, 09:51 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2018, 10:04 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
ПанургJossЕсли я выложу программу шифрования, то любой сможет расшифровать зашифрованное, тогда зачем она?Пароли не шифруют, хранят хэш. Значит нужна программа хеширования паролей на VBA. У Вас она есть? У меня нет. Серьёзно. Хочу поискать. Где-то лежал расчёт CRC32 на VB. Может его приспособить. И я писал, что если злоумышленник добрался до таблиц, то наличие шифрования паролей его вряд ли остановит. И кстати, в интернете можно найти ломалки и онлайн сервисы по подбору паролей по их хэшу. Я даже как-то таким пользовался. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2018, 11:12 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
JossИ кстати, в интернете можно найти ломалки и онлайн сервисы по подбору паролей по их хэшу. Что один человек сделал, то другой завсегда сломать сможет. © JossГде-то лежал расчёт CRC32 на VB.Почему бы и нет Такие секретные данные в базе? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2018, 11:21 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
ПанургТакие секретные данные в базе? Та нет там ничего секретного. Лично у меня в базе хранятся данные по анкетам. И идентификация служит для того, чтобы определить, кто внёс, когда и сколько. Для более серьёзных вещей ведётся протоколирование. Не только кто и когда, но и что именно изменил, добавил или убрал. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2018, 11:59 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Выдалось немного свободного времени. Подправил программу по замечаниям aleco. Теперь при открытии списка пользователей обычным пользователем кнопки для добавления, изменения и удаления не видны. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2018, 14:44 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Как говорится, совершенству нет предела. В моей программе есть несколько проблемных мест. Одно из них - ввод пароля администратора через InputBox. Все сидящие рядом могут его увидеть. Надо было или разрабатывать специальную форму для ввода пароля или модернизировать функцию InputBox так, что бы она могла работать в режиме ввода паролей (***). После недолгого поиска в сети я это нашел. Теперь предлагаю новую версию программы с вводом пароля в скрытом режиме. Программа тестировалась в Access 2010 64/32 под Windows 7 64/32 и в Access 2016 32 под Windows 10 64. Других под рукой не оказалось. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2018, 15:35 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Joss... Надо было или разрабатывать специальную форму для ввода пароля или модернизировать функцию InputBox... Зачем? Есть уже форма авторизации. Зачем городить дополнительные? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2018, 15:54 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Зачем "рядовому" пользователю видеть форму Сотрудники, на которой он не может педалировать кнопки? Дайте ему отчет, пусть смотрит номера телефонов и почту, если это требуется. И администратору не придется на каждый чих вводить свой пароль, достаточно первичной авторизации. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2018, 15:58 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
PredeclaredЗачем? Есть уже форма авторизации. Зачем городить дополнительные? Как-то так, например: ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2018, 17:52 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
И лучше поработать над Enabled кнопок, чем показывать юзеру описание ошибок разработчика. Пара примеров: ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2018, 18:08 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
2 ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2018, 18:08 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Predeclared, А как вы смогли сразу 4 рисунка приложить к одному сообщению? Я тоже так хочу. У меня чёй та - Всегда только один прилаживается. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2018, 18:12 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
ЛапухА как вы смогли сразу 4 рисунка приложить к одному сообщению? Первый рисунок распечатываешь, потом прикладываешь его к монитору на другой сюжет, фоткаешь, потом фотку распечатываешь, опять прикладываешь к монитору на третий сюжет, фоткаешь итак в цикле... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2018, 18:32 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Лапух, Это один файл, собранный из четырех скринов в паинте. Сам несколько картинок не умею к одному сообщению. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2018, 18:52 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Predeclared, Ну да. да. да, я так именно и понял из вашего ответа. Просто в связи с новыми веяниями предположил, что появились новые возможности, которых я не узрил. Спасибо за развёрнутый ответ, понятный даже мне. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2018, 18:57 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Predeclared, большое спасибо Вам что погоняли мою программу на критические ситуации. Иногда соображалка загружена другими проблемами и ты просто упускаешь что-то важное из виду. Ваши замечания по ошибкам я исправил. На счёт задания нового пароля, тут я с Вами не согласен. Он нужен только для режима Login/Password. И я решил, что отдельная кнопка для смены пароля в программе будет уместнее, чем добавлять специальную кнопку в форму авторизации. Вам никто не мешает всё переделать по своему вкусу. Чтобы Вам всё время не набирать пароль админа, переключите программу на режим Login/Password и войдите как администратор. Больше админский пароль у Вас запрашиваться не будет. В приложении программа доработанная по замечаниям Predeclared. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2018, 13:12 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Joss... и ты просто упускаешь что-то важное из виду... Я постоянно наступаю на аналогичные грабли, потому знаю где их искать. :) Joss..., чем добавлять специальную кнопку в форму авторизации... Нет спец кнопок. Кнопка одна, подписей две. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2018, 13:24 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Да-а-а... А как тогда различить, когда ты вводишь пароль, а когда хочешь его изменить? При Windows авторизации определение происходит автоматически и запроса пароля нет. При Login/Password авторизации как разобрать, ты хочешь заменить пароль или не хочешь? И куда вводить тогда подтверждение пароля? Где эта форма должна выводиться? При запуске программы? А где кнопка отмены? В процедуре смены пароля? Так там и моя форма нормально работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2018, 15:56 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Joss... А как тогда различить, когда ты вводишь пароль, а когда хочешь его изменить?... Форма может иметь несколько режимов, один из которых можно задать до показа ее на экране. В соответствии с заданным режим настраиваются свойства контролов, их реакция на события. Joss... И куда вводить тогда подтверждение пароля? ... Есть для этого специально обученное поле с лейблом. На скрине оно есть. Joss...Где эта форма должна выводиться? При запуске программы? ... Там где есть потребность в ней, в том числе при запуске, если текущие настройки требуют авторизации. Joss...А где кнопка отмены? ... Есть штатный крестик вверху справа. Если есть потребность, можно и кнопку отмена добавить. Joss... Так там и моя форма нормально работает. Две формы + инпутбох на куче апишек + разбросанная по нескольким несвязанным модулям(включая модули форм) логика? Не, это не мой паттерн, однако. Мой паттерн такой: Модуль класса, отвечающий за всю логику + форма, как пульт управления. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2018, 18:58 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
PredeclaredДве формы + инпутбох на куче апишек + разбросанная по нескольким несвязанным модулям(включая модули форм) логика? Не, это не мой паттерн, однако. Мой паттерн такой: Модуль класса, отвечающий за всю логику + форма, как пульт управления. Вам и карты в руки, сделайте свой класс. А я с классами не слишком дружен. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2018, 22:13 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Тут рекомендовали вместо паролей хранить их хеши. Кто хочет - пожалуйста Получение MD5 хэша в VBA ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2018, 16:31 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Joss... Вам и карты в руки, ... Взял я таки карты в руки, раскинул пасьянс. Нарисовался черновик объектной модели решения задачи. На permissions застопорился. Реализация сильно зависит от конкретного ТЗ. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2018, 20:51 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Я пытался сделать максимально универсальный модуль, который можно встраивать в любую задачу с соответствующими доработками. По сравнению с первым представленным вариантом я убрал все ссылки на структуру организации: таблицы с отделами, должностями, организациями, структуру подчинённости и соответствующие формы и поля. Всё это уже добавляет разработчик под конкретную задачу. Есть узкое место. В логике и коде жестко прописаны названия таблиц пользователей и параметров программы. У многих разработчиков уже устоявшиеся названия для соответствующих таблиц. Я, например, называю таблицу пользователей USysUsers. Но это можно обойти разработав хранимые запросы с соответствующими названиями. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2018, 08:34 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Следующая доработка. Добавлен контроль на задание логина Admin и на дубликаты логинов (для третьего режима) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.11.2018, 13:20 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Тут меня спрашивали, "а почему не сделать список пользователей выпадающим?" Ну не лежит у меня душа к этому. Считаю, что вводить пароль ручками, а не выбирать из списка более надёжно в качестве защиты. Но для таких пользователей сделал послабление. Теперь программа запоминает последнего пользователя, который с ней работал в режиме Login/Password Да, и при первом запуске в режиме Login/Password она подставляет логин администратора. А дальше как хотите. Входите под администратором или вводите другой логин. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2018, 10:58 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
На последней версии: Система без авторизации. 1. Запускаем программу 2. Нажимаем кнопку с Менеджерами/юзерами 3. Нажимаем добавить и вводим пароль админа 4. Вводим любую фамилию 5. Вводим свой текущий логин Windows 6. Сохраняем 7. Закрываем окно с юзерами 8. Заходим в "Сервис\Настройка программы" 9. Выбираем режим "Авторизация Windows" 10. Выходим из программы, нажимая кнопки на форме. Запускаем программу вновь и пытаемся сменить свой пароль. Нам отвечают, что "Текущий пользователь не определён", хотя пользователь определённо определён. Это нормальное поведение? Так же выскакивает ошибка 2450 (Приложению не удаётся найти указанную форму в процедуре закрытия окна), при закрытии через кнопку "Закрыть" окна Access при активном любом окне, кроме главной формы. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2018, 17:31 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Давайте по порядку Смена пароля - да, такую ситуацию я не предусмотрел. Когда под Windows авторизацией хочешь сменить пароль для Login/Password авторизации. Просто не мог представить себе такую ситуацию. Исправлю. А вот, что при Windows авторизации не срабатывает флажок "администратор" - это как раз ошибка. Буду разбираться. На счёт ошибки 2450. Вообще-то это давняя история. И были тут топики, посвященные этой проблеме. Закрывайте формы как положено и будет Вам счастье. У меня, при закрытии формы, управление передаётся вызывающей (предыдущей) форме. А при закрытии Access крестиком она может быть уже закрыта. Вот и вылетает ошибка 2450. Я в своих программах вообще крестик закрытия Access отключаю. Если это так важно, могу впихнуть контроль. Но это немного усложнит программу. Мне без разницы, а разбираться в коде будет чуть труднее ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2018, 11:09 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Наконец-то выдалось свободное время и доработал программу по замечаниям Stanislav P Ну кроме контроля загруженных форм (Ошибка 2450). Может позже доделаю. Пришлось всунуть много контролей разных ситуаций, типа вошел под Windows авторизацией, переключился на Login авторизацию и захотел поработать с пользователями... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.12.2018, 16:13 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
В предыдущей выкладке пароль администратора был 123123 . Случайно изменил при отладке Доработал программу по замечаниям Stanislav P. Добавил контроль загруженных форм. Теперь ошибки 2450 не будет Пароль администратора вновь 121212 P.S. По сравнению с первыми версиями программа усложнилась из-за различных проверок. Но зато теперь вроде без ошибок. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2018, 11:27 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Продолжим: Начальная база, заходим (включен режим без авторизации). Заходим в "Сервис\Настройка программы", нас спрашивают пароль Админа, вводим его. Меняем режим на "windows-авторизация". Выходим из программы. Снова заходим, нам говорят, что нас нет в программе и предлагают войти под админом, на что мы соглашаемся и входим. Заходим в список пользователей и добавляем нового пользователя с любой фамилией, установленными галочками "Администратор", "Действующий" и логином Винды. Выходим из программы. Заходим снова, под текущим юзером Винды как админ (нас ни о чём не спрашивают). Добавляем в любом пользователелогин Винды текущего пользователя (то есть, в базе уже два одинаковых виндовых логина, что уже чревато последствиями). Выходим из формы юзера в список юзров, сохраняя исправления и нажимаем кнопку "Изменить" на любом пользователе, нам сообщают, что текущий пользователь не является администратором, хотя только-что мы были админом. Выходим из программы. Заходим снова, нам сообщают, что нас нет в списке пользователей, хотя в этом списке уже два пользователя с виндовой авторизацией. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2018, 15:35 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Ещё одна проблема: если зайти под виндовым юзером имеющим админские привилегии и убрать виндовый логин, оставив обычный, сохранив изменения, то потом, нажав кнопку "Изменить" в списке пользователей получим это: ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2018, 15:53 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Stanislav P, спасибо за тестирование программы. Очень помогли. Следующая версия программы. Убрана возможность задвоения Windows логинов. Ну и обычных логинов программы тоже. Вот последнюю ситуацию я ещё не сообразил, как избежать. Но думаю над этим. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2018, 11:42 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
JossВот последнюю ситуацию я ещё не сообразил, как избежать. Но думаю над этим. У тебя на каждое движение постоянно идёт выборка из базы, поэтому и ошибка выскакивает. Если взять пример реализации из операционной системы, то залогиненный юзер будет админом даже тогда когда у него отобрали права админа. Он перестанет быть админом только после того как выйдет и зайдёт заново. То есть, тебе не нужно каждый раз делать выборку из базы, а просто завести некую переменную, которой присваивать соответствующее значение (админ, юзер) при входе юзера. И все остальные проверки делать уже на основе этой переменной, так и базу меньше будешь дёргать и скорость работы программы повысится. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2018, 15:48 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Я бы реализацию делал бы немного иначе. Завёл-бы одну таблицу на всех юзеров. Если база нулевая, то появляется окошко регистрации админа и человек вводит нужный логин и ФИО, таким образом первый юзер всегда сначала админ, этим мы избавляемся от попыток подключения к базе под заранее известным логином. После чего показываем человеку окно логина, он вводит только-что введённый логин, после чего его статус пишется в TempVars-переменную и по ней мы уже проверяем его доступ. Так-же в TempVars записываем кол-во админов и уменьшаем это число каждый раз, когда у очередного юзера убирают галочку "Админ" (увеличиваем, если добавляют галочку). А если переменная кол-ва админов содержит только единицу, то делаем поле "Админ/не админ" заблокированным. Можно в таблицу "Юзеры" ручками занести логин "админ" и исключить код добавления юзера на стадии первого подключения к нулевой базе. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2018, 16:02 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Stanislav P...Я бы реализацию делал бы немного иначе. Завёл-бы одну таблицу на всех юзеров. Если база нулевая, то появляется окошко регистрации админа и человек вводит нужный логин и ФИО... Я вот тоже об этом при первом скачивании БД для тестирования подумал. Но посчитав, что я начал зрить пример не вникнув в суть вопроса, то стал смотреть с самого первого поста и примера, а соответственно заметил, что дабы каждый раз логин и пароль не вводить, ради сути, то сама форма авторизации временно была как бы отодвинута в сторону и обозначеноа главная задачка. Или я в чём то не прав и самое главное как всегда упустил? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2018, 16:45 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Блин блинский. Хотел тоже показать как я в своих тщетных попытках хотел нечто подобное сделать, а оно из за размера как всегда не приложилось. Интересно из за чего? Наверное я какой ни то типа - Максималист. и не обращаю внимание на размах. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2018, 16:53 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Для своего проекта я делаю почти так, как выше описал. За исключением того, что у меня нет поля "Админ", у меня всё завязывается на RBAC-модели, а там надо хранить в памяти побольше данных и я ещё не придумал как это сделать красиво. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2018, 20:18 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
авторЕсли взять пример реализации из операционной системы, то залогиненный юзер будет админом даже тогда когда у него отобрали права админа. Он перестанет быть админом только после того как выйдет и зайдёт заново. То есть, тебе не нужно каждый раз делать выборку из базы, а просто завести некую переменную, которой присваивать соответствующее значение (админ, юзер) при входе юзера. И все остальные проверки делать уже на основе этой переменной, так и базу меньше будешь дёргать и скорость работы программы повысится. :) Если Вы обратили внимание, то в Module1 есть глобальные переменные Код: vbnet 1. 2.
Всё работает более-менее нормально, пока не начинают дёргать режимы авторизации. Есть ещё два или три узких места: если админ БД сам у себя отобрал админские привилегии и если он сам себя удалил из базы. Может действительно попробовать переписать как в системе? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2018, 08:37 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Я бы сделал новый тип данных и при авторизации запихивал бы все данные текущего юзера в переменную нового типа. И все проверки свёл-бы к списку: Проверка на последнего админ (блокируем чекбокс "админ") Проверка на одинаковый логин Винды (можно просто сделать индексом) Проверка на одинаковый локальный логин (то же самое - индекс) Проверка на удаление самого себя (проверка при нажатии кнопки "удалить юзера") ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2018, 10:51 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Stanislav P... Проверка на одинаковый логин Винды (можно просто сделать индексом) Проверка на одинаковый локальный логин (то же самое - индекс) ... Я так и хотел в начале, но не получается. Они могут быть пустыми ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2018, 11:22 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Следующая версия. Пользователь и его привилегии определяются при входе в программу и действуют всю сессию. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2018, 14:40 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
JossЯ так и хотел в начале, но не получается. Они могут быть пустыми Если есть система авторизации, то логин должен быть обязательно. В винду, да в любую ОС не зайдёшь без логина. То есть, у юзера должен быть, как минимум, один из двух логинов. То есть, при создании нового юзера нельзя выйти из формы, пока не будет вбит один из двух логинов. У тебя всего семь возможных вариантов сочетания юзеров и админов. Всё это легко укладывается в тройку IF, или один SELECT CASE. Можно свой ENUM сделать и при входе присваивать переменной "ТекущийСеанс" значение из enum и затем пропускать через CASE. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2018, 15:48 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
В ОС всегда есть юзер - Гость, под ним авторизуются анонимы, в твоём случае его можно даже не заводить в таблицы. Можно создать новый Enum "Тип Юзера" и три значения: админ, юзер, гость. И исходя из текущего типа юзера, и выбранного режима авторизации, показывать окно для ввода пароля встроенного админ (когда в выбранном варианте авторизации нет админов), либо блокировать доступ (есть другие админы у текущей авторизации), разрешать доступ если вошедший юзер админ в этой авторизации. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2018, 15:58 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Stanislav PJossЯ так и хотел в начале, но не получается. Они могут быть пустыми Если есть система авторизации, то логин должен быть обязательно. В винду, да в любую ОС не зайдёшь без логина. То есть, у юзера должен быть, как минимум, один из двух логинов. То есть, при создании нового юзера нельзя выйти из формы, пока не будет вбит один из двух логинов. так и сделано. попробуйте создать пользователя без логина. Stanislav PУ тебя всего семь возможных вариантов сочетания юзеров и админов. Всё это легко укладывается в тройку IF, или один SELECT CASE. Можно свой ENUM сделать и при входе присваивать переменной "ТекущийСеанс" значение из enum и затем пропускать через CASE. Ничего не понял. Какие сочетания? Есть пользователь. Он может быть админом. А может и не быть. Всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2018, 16:11 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Stanislav PВ ОС всегда есть юзер - Гость, под ним авторизуются анонимы, в твоём случае его можно даже не заводить в таблицы. Не есть, а предусмотрен. У нас на предприятии, да и у меня дома он отключен. Stanislav PМожно создать новый Enum "Тип Юзера" и три значения: админ, юзер, гость. И исходя из текущего типа юзера, и выбранного режима авторизации, показывать окно для ввода пароля встроенного админ (когда в выбранном варианте авторизации нет админов), либо блокировать доступ (есть другие админы у текущей авторизации), разрешать доступ если вошедший юзер админ в этой авторизации. Не плодите сущности сверх необходимости. Зачем всё это? Программа может быть без авторизации . Такую программу обычно ставят у себя на компьютере, где работает только один человек. Других пользователей не предусмотрено. Программа может быть с Windows авторизацией. Как у меня на работе. Домен, выделенный сервер, строгие права. При входе авторизовался, зачем дёргаться ещё раз при входе в программу? Программа может иметь авторизацию Login/Password . Это для персональных компьютеров коллективного пользования. Когда нет системщика, никто не заводит логины для каждого пользователя. И вообще возможно нет сети. Какая-нибудь малая организация. Пришел, включил компьютер, начал работать. Пришел сменщик. Встал, не выключая компьютер, пошел домой. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2018, 16:25 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Joss, ну все таки это не windows авторизация.... Можно добавить авторизации по логину паролю с источником из AD по ldap протоколу. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2018, 16:45 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Что-то я в терминологии запутался... А можно разъяснить подробнее? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2018, 22:04 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Небольшое исправление. Предусмотрел флажок "Действующий" в параметрах сотрудника, но забыл включить его контроль. Исправился. Теперь в программу могут войти только действующие сотрудники. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2018, 08:38 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
JossЧто-то я в терминологии запутался... А можно разъяснить подробнее? В операционных системах есть два типа авторизации: 1. Локальная, когда запись о пользователе храниться на этом конкретном компьютере. 2. Централизованная, когда запись о пользователе хранится в некоей системе. Если сравнивать с твоей программой, то вариант "логин/пароль" может брать информацию о юзере не только из локальной таблицы юзеров, но и из прилинкованной, которая централизованно хранится в БД где-то на сервере и все копии твоей программы обращаются к этой таблице. LDAP, по сути - БД, для работы с ней нужна только строка подключения. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2018, 09:26 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2018, 10:54 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Лапух Joss, А откуда, при открытии БД, Оно знает, что меня нет в списке пользователей? А Оно делает фото через Web камеру, сверяется со списками Интерпола, для надёжности ещё берёт отпечатки пальцев и фото сетчатки глаза... (шутка) Сверяется с таблицей пользователей tbl_Users ... Ну хорошо, после открытия БД... Если это определение для Вас так важно. Перед допуском к интерфейсу задачи. Такое определение Вас устроит, Вини? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2018, 11:22 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Stanislav PJossЧто-то я в терминологии запутался... А можно разъяснить подробнее? В операционных системах есть два типа авторизации: 1. Локальная, когда запись о пользователе храниться на этом конкретном компьютере. 2. Централизованная, когда запись о пользователе хранится в некоей системе. Если сравнивать с твоей программой, то вариант "логин/пароль" может брать информацию о юзере не только из локальной таблицы юзеров, но и из прилинкованной, которая централизованно хранится в БД где-то на сервере и все копии твоей программы обращаются к этой таблице. LDAP, по сути - БД, для работы с ней нужна только строка подключения. Я там расписывал, что для сетевой работы с доменом должна использоваться Windows авторизация, а при работе на локальном компьютере - Login/Password ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2018, 11:27 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
JossЯ там расписывал, что для сетевой работы с доменом должна использоваться Windows авторизация, а при работе на локальном компьютере - Login/Password :) В Винде, которая в AD-домене можно зайти на локальный компьютер с локальным логином userA или зайти в домен с логином userA, но это абсолютно два разных юзера, хотя у них совпадает логин и может полностью совпадать ФИО. То есть, на компьютере с именем Comp001 , есть вариант входа Comp001\User1 и вариант Domen\User1 Если рассматривать форму авторизации в отрыве от остальной безопасности в программе, то эти логины равнозначные, если же рассматривать в комплексе, то это нарушение безопасности. Озверин тебе сказал, что по логин/паролю так-же можно авторизовываться в LDAP, то есть, это тоже windows-авторизация, но не совсем стандартным путём. Но на это можно забить. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2018, 12:34 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Joss, Я так и знал, что везде шпиены. и за нами все следят. И ваще я не Вини, а Лапух. Да спасибо, попытаюсь проникнуть в нутрь сути конкретного места, а то уж очень много чего у вас там понаворочено. Да и кстати, когда открываю ваш пример, то так как у меня 2000-й и DAO приходится ручками подключать в референсах ручками, что не даёт ни чего сделать. пока не зайдешь с шифтом. Плюс приходится снимать галочку с библиотек более поздних версий. Не будет ли это проблемой для пользователей, у которых офис не такой как у вас? Ибо все равно же уберете возможность пользования шифтом в конце, да ещё и в mde наверное преобразуете. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2018, 12:38 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Joss, В последней версии, если включить режим windows-авторизация и при этом либо отключить пользователя с админскими правами, либо забрать их у него, в дальнейшем нельзя никаким образом воспользоваться админскими привелегиями. То есть, придётся вызывать программиста, чтобы как-то проадминистрировать программу. Соответственно в двух других режимах этой проблемы нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2018, 13:02 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Stanislav PJoss, В последней версии, если включить режим windows-авторизация и при этом либо отключить пользователя с админскими правами, либо забрать их у него, в дальнейшем нельзя никаким образом воспользоваться админскими привелегиями. То есть, придётся вызывать программиста, чтобы как-то проадминистрировать программу. Соответственно в двух других режимах этой проблемы нет. это я уже просёк и в ближайших версиях доработаю. Будет возможность простому пользователю из 2-го режима переключиться в 3 режим. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2018, 13:37 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
ЛапухJoss, Я так и знал, что везде шпиены. и за нами все следят. И ваще я не Вини, а Лапух. Да спасибо, попытаюсь проникнуть в нутрь сути конкретного места, а то уж очень много чего у вас там понаворочено. Да и кстати, когда открываю ваш пример, то так как у меня 2000-й и DAO приходится ручками подключать в референсах ручками, что не даёт ни чего сделать. пока не зайдешь с шифтом. Плюс приходится снимать галочку с библиотек более поздних версий. Не будет ли это проблемой для пользователей, у которых офис не такой как у вас? Ибо все равно же уберете возможность пользования шифтом в конце, да ещё и в mde наверное преобразуете. На счёт Вини. Просто вспомнилось Код: plaintext 1. 2.
У меня самая младшая версия на компе - 2003. Могу выкладывать в ней. Или в двух вариантах: под DAO и под ACE. Но я ещё и под Access 64 bit тестировал. Вот и не поменял. Кстати. У можно отдельно скачать провайдер ACE и поставить у себя не переустанавливая офис. Может сделаете? Будет проще с примерами. И ещё, настоятельно рекомендую поставить Office 2003 Portable. Выручал неоднократно. Никаких конфликтов с другими. Свободно работает в параллель с 64-х битными версиями офиса. Я начал с очень простого, если посмотрите с первого поста. Но меня стали критиковать за недоделанность, Я тогда сразу написал, что все замечания можно устранить, но код вырастет и потеряет наглядность. Так и вышло. Или режешь функциональность или мирись с увеличением объёма кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2018, 13:54 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Joss, Ну прям ни че не скрыть, ни где не затаиться. Точно везде камеры и шпиены. По существу, я не особый Конспиролог и шифровальщик, просто смотрю, все кому не лень тестируют, думаю тоже руку приложу. Я просто так, смотрю пример и развитие событий для интереса, вдруг лет через 50-100 тоже захочется сотворить нечто подобное, но пока другие "дурацких планов" навалом. Так что ради меня ни чего подлаживать не стоит, просто подумалось, вдруг не учли такую оказию, как у меня, типа 2000 акс. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.12.2018, 16:10 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Возможно окончательный вариант. Для переключения из Windows авторизации в Login/Password авторизацию теперь рядовому пользователю (не администратору) надо зайти в режим "Сервис". Там появится специальная кнопка для изменения режима авторизации. Нажмите её. Программа запросит код администратора. Введите его. Программа изменит тип авторизации и закроется. Запустите программу заново. У вас будет режим Login/Password авторизации. Добавлено предупреждение, если Вы захотите удалить сами себя из списка пользователей программы. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.12.2018, 14:31 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Никто ещё не проверял или нет ошибок? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2018, 12:25 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Не смотрел, так как проведённое ранее тестирование и просмотр твоего кода натолкнули на идею переписать свой модуль авторизации. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2018, 14:34 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Ну и как? Выложишь для просмотра и обсуждения? Будет время - посмотри. Много доработал по твоим замечаниям. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2018, 14:50 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Да, потестирую, как будет время. Свой вариант тоже выложу. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2018, 14:57 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА, проба ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2018, 14:56 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКАПЕНСИОНЕРКА, проба я подошла к подобной проблеме немного по другому --стандартный запрос логина (из списка) и пароля --запоминается код доступа(0-админ,1-начальник группы,2-рядовой исполнитель по задаче КАД?Ы, 3-по ЗА?ПЛАТА.....) --есть таблица формы, где в поле статус --перечень кодов доступа(код, имя формы или отчета, статус...) затем выход на главную форму, где в виде списка высвечивается доступный для данного пользователя список задач такое решение возникло в задаче, где сначала на главной форме было более 60 кнопок, причем требовалось скрывать лишние в зависимости от прав доступа ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2018, 14:57 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Не совсем то... Здесь речь идёт пока не о разграничении доступа, а о регистрации в программе. А уже после регистрации в программе начинается задача разграничения доступа. Мне трудно решить эту задачу в общем виде. Сделать универсальный модуль типа той же авторизации. Здесь добавляешь таблицу пользователей дополнительными полями, привязываешь к подразделению, направлению и плавно переходишь к задаче разделения привилегий. Самый первый мой пример как раз содержал остатки такой задачи. Таблицы отделов, должностей, организаций. Но потом я их убрал, чтоб не захламлять задачу. Этот модуль можно встроить практически в любую задачу и дополнить его по своему желанию. Механизмы добавления, удаления и изменения параметров пользователя, а так же переключения режимов авторизации фактически отработаны (ну или почти отработаны). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2018, 15:25 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
JossЭтот модуль можно встроить практически в любую задачу и дополнить его по своему желанию. Механизмы добавления, удаления и изменения параметров пользователя, а так же переключения режимов авторизации фактически отработаны (ну или почти отработаны). ... остается только искать задачи и тех, кто готов заплатить за решение этих задач... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2018, 13:09 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Версия: 0.7.19 Запускаем в первый раз. Заходим без логина. Заходим в таблицу пользователей и нажимаем кнопку изменить. Нам предлагают ввести пароль Админа, что мы и делаем. Закрываем форму изменения пользователя без внесения каких-либо изменений. Заходим в "Сервис" и нажимаем кнопку "сменить пароль текущего юзера". Нам предлагают ввести пароль админа, что мы и делаем, затем появляется окно ввода нового пароля, вводим пароль (не уверен, что это важно, но я вводил 121212). Получаем ошибку на скриншоте. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2018, 15:47 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Те-же операции в других режимах этой ошибки не вызывают. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2018, 15:55 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Stanislav P, спасибо. Буду смотреть. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2018, 19:00 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Исправленная версия ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2018, 19:43 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Версия 0.7.20 Заходим в первый раз раз без логина. Удаляем все записи юзеров, вводя каждый раз пароль админа. Переключаемся в Windows-авторизацию, введя пароль админа. Выходим. Заходим. Нам сообщают, что нас нет в базе и предлагают войти под встроенным админом, чтоб мы и делаем. Создаём юзера с локальным логином, даём ему админские права. Выходим. Заходим под правами вновь созданного юзера-админа. Идём в "Сервис\Смена пароля текущего юзера" и получаем приложенную ошибку. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2018, 12:48 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Пробежался по коду программы, ты везде делаешь селект делаешь по имени. На мой взгляд, это лучше делать по id юзера, который запихнуть в переменную. А тому-же встроенному админу присвоить нулевой ID. Тогда код программы можно значительно упростить и избежать ошибок с нулевым кол-вом строк из селекта. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2018, 13:54 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Stanislav PПробежался по коду программы, ты везде делаешь селект делаешь по имени. На мой взгляд, это лучше делать по id юзера, который запихнуть в переменную. А тому-же встроенному админу присвоить нулевой ID. Тогда код программы можно значительно упростить и избежать ошибок с нулевым кол-вом строк из селекта. Спасибо за тестирование. В одних местах я уже переделал под Id, а в некоторых ещё остались. Буду разбираться и с этой ошибкой. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2018, 15:19 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Stanislav PВерсия 0.7.20 Заходим в первый раз раз без логина. Удаляем все записи юзеров, вводя каждый раз пароль админа. Переключаемся в Windows-авторизацию, введя пароль админа. Выходим. Заходим. Нам сообщают, что нас нет в базе и предлагают войти под встроенным админом, чтоб мы и делаем. Создаём юзера с локальным логином, даём ему админские права. Выходим. Заходим под правами вновь созданного юзера-админа. Идём в "Сервис\Смена пароля текущего юзера" и получаем приложенную ошибку. Что-то Вы здесь пропустили в описании своих действий. Чтобы зайти под правами вновь созданного юзера Вам надо переключиться в режим Login/Passord Ведь, как Вы пишите, Вы создали пользователя с локальным логином. Под Виндовс авторизацией Вы бы просто не смогли бы войти таким пользователем. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2018, 15:43 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Вот, подправил изменение пароля. Определение пользователя по его коду, а не по логину. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2018, 16:09 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Последняя версия (0.7.21) позволяет вводить логины с пробелом вначале. Но при входе с таким логином, пишет, что такого юзера нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.01.2019, 17:01 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Добавил обрезание незначащих пробелов при задании логинов. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2019, 09:13 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
С версией 0.7.22 вроде всё ок. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2019, 20:22 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Спасибо за тестирование. Буду надеяться, что это окончательный варант. Теперь, наверное на основе этого модуля можно попробовать набросать систему разграничения. Или доступа по привилегиям. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2019, 15:01 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Здравствуйте! Мн модуль очень понравился, удобный, да и собственно есть все примочки. Но есть ли возможность при входе обычного юзера (на администратора) скрыть нижние баттоны (btnManger, btnServis)? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2019, 06:23 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Та кто ж тебе мешает? Это вообще-то стартовая форма и сделана только для этой программы. Делай для себя как тебе удобно. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 09:46 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Joss, не подскажешь как сделать? я в VBA слабоват :( ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2019, 10:02 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Режим конструктора. Вызываете для элемента окно "Свойства" через контекстное меню. Первая вкладка "Макет". Параметр "Вывод на экран" (обычно третий сверху) Измените значение с "Да" на "Нет". Сохраните. Всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.03.2019, 16:41 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Joss, не настолько слабоват :) имел ввиду разграничить видимость для Администраторов и Обычных пользователей ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 07:15 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
При загрузки формы в секции Form_Load() вставляешь проверку, на привилегии пользователя. И от результата проверки проверки делаешь Код: vbnet 1.
или Код: vbnet 1.
Так же и для второй кнопки. Ну посмотри форму frm_ListUsers и сделай по аналогии ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 09:19 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Joss, Сделано получилось! Спасибо огромнейшее! ... |
|||
:
Нравится:
Не нравится:
|
|||
28.03.2019, 09:54 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Привет сообществу! Автору особое уважение!!! Модуль понравился. Не разобрался с применением многопользовательского режима. У меня разделенная база ACCESS 2016. Таблицы на файл сервере (на SQL пока не перехожу, пробовал, составил мнение, решил повременить.). Пользователей до 15 человек. Входят по одному клиентскому модулю с формами запросами отчетами и т.д. Давно требуется разделение прав. Еще хотелось бы зашифровать базу средствами Access. Но тогда придется по видимому в клиентском модуле хранить пароль базы? А теперь уважаемые знатоки! Внимание Вопрос: Как прикрутить модуль к действующей разделенной базе данных? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2019, 09:00 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
А по конкретнее? Что не получается? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2019, 23:09 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Так я и не пробовал. Мое понимание: объединить этот модуль со своим модулем через экспорт импорт и назначить запуск моей кнопочной формы при положительном входе. Но лучше прошу проинструктировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.07.2019, 09:00 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Тяжелый случай. (шутка) Надо импортировать модули, таблицы, формы. Мой модуль подключается в макросе autoexec Если у Вас есть свои таблицы для пользователей, то надо совместить их с таблицами модуля. Что ещё надо сделать? Это надо смотреть уже вашу программу. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2019, 08:53 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
vitbvТак я и не пробовал. Мое понимание: объединить этот модуль со своим модулем через экспорт импорт и назначить запуск моей кнопочной формы при положительном входе. Ну, если б все так было просто... Сделал "Привет Мир!", скрестил с виндой 10 и получил свою винду 11... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2019, 11:37 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
JossТяжелый случай. (шутка) Надо импортировать модули, таблицы, формы. Мой модуль подключается в макросе autoexec Если у Вас есть свои таблицы для пользователей, то надо совместить их с таблицами модуля. Что ещё надо сделать? Это надо смотреть уже вашу программу. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2019, 15:52 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
vitbv, Нужно просто разделить на админов и пользователей или что-то сложнее? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.07.2019, 16:52 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Joss, А может ну её, эту авторизацию на MS Accees....? C вашим то уровнем VBA и понимания работы СУБД можете мгновенно перестроиться, и пересадить в пару кликов ваш проект на MySQL. C нормальной авторизацией и аутентификацией на сервере. Там по сути всё то же самое , только дополнительные бонусы в виде триггеров нормальных, сохраненных процедур,функций, и транзакции уже подвезли. И можно писать параллельно веб интерфейс с народным пэхапэ, js и пр. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 02:30 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Сергей ЛаловJoss, А может ну её, эту авторизацию на MS Accees....? C вашим то уровнем VBA и понимания работы СУБД можете мгновенно перестроиться, и пересадить в пару кликов ваш проект на MySQL. C нормальной авторизацией и аутентификацией на сервере. Там по сути всё то же самое , только дополнительные бонусы в виде триггеров нормальных, сохраненных процедур,функций, и транзакции уже подвезли. И можно писать параллельно веб интерфейс с народным пэхапэ, js и пр. А почему не на MS SQL Server? Или это сейчас не актуально? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 10:38 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
[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.) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 16:39 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Сергей ЛаловИ можно писать параллельно веб интерфейс с народным пэхапэ, js и пр. Вы сами то пробывали писать нормальный интерфейс на этом народном добре? Как успехи? Только не надо про сайты. Конкретно писали клиента к базе данных? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 17:17 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
ROI, В чистом народном добре, без фреймворков давно не пишут. Сейчас , снова возникла необходимость, изучил java, написал простенькое приложение под Андроид , андроид лучше всего работает с json ,и веб запросами а не с odbc, наклепал crud в php. Php чистый, зачем усложнять то )) мне не сайты писать под заказ , а простую админку, пользования бд . Это на ангуляре буду делать, и то, ради удовольствия. А на ms access + mysql уже давно пишу, и для себя и на заказ) под логистику,закупки, транспорт,таможню. Недавно для РАМН запилил поделку, полезную. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 17:48 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Сергей Лаловбез фреймворков давно не пишут. Это где вы их применяете. Почитал я ваши топики там вы себя позиционируете как "начинающий" Где жы вы успели пописать на фреймвёрках? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 17:57 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
ROIСергей Лаловбез фреймворков давно не пишут. Это где вы их применяете. Почитал я ваши топики там вы себя позиционируете как "начинающий" Где жы вы успели пописать на фреймвёрках? В компании ЦентрОбувь , 6 лет назад, когда работал там логистом. Сделал простенький веб интерфейс на три таблицы, используя Jquery + php + mysql. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 18:23 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
[quot ROI]Сергей ЛаловПочитал я ваши топики там вы себя позиционируете как "начинающий" Да, в web начинающий по сути то. Я же в соседних ветках и не скрываю этого. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 18:31 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
ROIТолько не надо про сайты. А почему именно не надо про сайты ? ROIКонкретно писали клиента к базе данных? А в чем проблема , то ? Нужно только захотеть. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 19:19 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Сергей ЛаловСделал простенький веб интерфейс на три таблицы, используя Jquery + php + mysql. Ну ваще то основой веб интерфейса является HTML , его еще никто не отменял, а jQurery это всего лишь библиотека, а php так вообще серверный язык программирования . :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 19:23 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
DarkManСергей ЛаловСделал простенький веб интерфейс на три таблицы, используя Jquery + php + mysql. Ну ваще то основой веб интерфейса является HTML , его еще никто не отменял, а jQurery это всего лишь библиотека, а php так вообще серверный язык программирования . :)) Спасибо, открыл глаза))) вселенная перевернулась от твоих слов. ))) Ваще это и так ясно)) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 20:40 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
В этой теме топика обсуждается авторизация на ms access. Пока не потерялась нить обсуждения, ещё раз хочу предложить связку ms access + mysql. Связь через mysql odbc, таблицы переносятся на сервер минуты за три (через этот же самый драйвер,которы потом служит формой авторизации пользователя). Тестировал эксперементировал , просто ради интереса, 1млн строк в таблице/табличной форме ,примерно с 30 полями разного типа обрабатывает довольно шустро. В настройках драйвера желательно установить big int , и реконнект. Во время первого захода чуть подтупливает при таком количестве,но потом кэшируется и не замечаешь. Также лучше создавать базу myIsam , а не innodb, потому что связи между таблицами/запросами можно сделать на стороне ms access. В контейнерах форм к примеру. Это тоже даст прирост производительности. Также на стороне сервера работает интерфейс оптимизации запросов. При накоплении статистики запросов он позволяет также оптимизировать скорость работы базки. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2019, 21:27 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Сергей ЛаловТакже лучше создавать базу myIsam , а не innodb, Придется ковырять закрома... посмотрел своих провайдеров - по мускулю поддержка только именно innodb 5.0, 5.5 и 5.7... получается только для своего огорода... ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2019, 00:34 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
vmagСергей ЛаловТакже лучше создавать базу myIsam , а не innodb, Придется ковырять закрома... посмотрел своих провайдеров - по мускулю поддержка только именно innodb 5.0, 5.5 и 5.7... получается только для своего огорода... Так не, с INNODB тоже все работает, можно в MyIsam,можно в innodb. В каком формате у вас база не важно, поедет все и так и так. мне просто связи таблиц и транзакции не нужны на серверной БД, поэтому и myisam. В моем случае myisam быстрей innodb. Потому что у меня основное действия только SELECT со стороны пользователя бд. а остальные типы запросов точечные, в рамках изменения одной строки. В интернете много споров на эту тему, что лучше. у меня опытным путем выяснилось что myisam быстрее. Есть небольшая таблица сравнений: таблица сравнений ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2019, 02:19 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Кстати еще один позитивный и очень важный момент работы с MySQL, забыл сказать. (Это в принципе относиться ко всем связкам MS Access, MySQL,MS SQL, Postgress e.t.c..) База не распухает во время использования. Не надо использовать сжать и восстановить. От слова совсем. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 00:20 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Сергей ЛаловКстати еще один позитивный и очень важный момент работы с MySQL, забыл сказать. (Это в принципе относиться ко всем связкам MS Access, MySQL,MS SQL, Postgress e.t.c..) База не распухает во время использования. Не надо использовать сжать и восстановить. От слова совсем. Движок InnoDB не поддерживает уменьшение размеров файлов БД — это принципиальное ограничение. Единственный способ уменьшить размер БД — сделать дамп, переинициализировать хранилище, восстановить из дампа. Увы, это действительно так. База распухает(чудес не бывает) А вот похудеть не так просто. Не морочте людям голову. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 05:38 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Сергей Лалов, К любому "что-то там SQL" прилагается админ, которому нужны денежки. Файл с БД от Access может положить в любое место любой секретарь или любой другой юзер и это не будет стоить дополнительных затрат. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 10:42 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
ROIСергей ЛаловКстати еще один позитивный и очень важный момент работы с MySQL, забыл сказать. (Это в принципе относиться ко всем связкам MS Access, MySQL,MS SQL, Postgress e.t.c..) База не распухает во время использования. Не надо использовать сжать и восстановить. От слова совсем. Движок InnoDB не поддерживает уменьшение размеров файлов БД — это принципиальное ограничение. Единственный способ уменьшить размер БД — сделать дамп, переинициализировать хранилище, восстановить из дампа. Увы, это действительно так. База распухает(чудес не бывает) А вот похудеть не так просто. Не морочте людям голову. Вы не поняли, о чем я пишу. Разберитесь сначала. При использовании файла аксесс с родными таблицами и jetSql ,при регулярном использовании ,клиентская часть приложения несоразмерно увеличивается. При активном использовании аксесса, к примеру с утра вес базы 3,5 мб, а к окончанию рабочего дня в районе 20мб. Это не связано с увеличением данных в таблицах ,либо загрузкой картинок в БД к примеру. Это связано с особенностями самого аксесса, с его неоптимальным способом кэшировать информацию. Чтобы решить проблему на стороне аксесса приходится сжимать и восстанавливать БД. (аксесовскую БД) чтобы уменьшить размер файла. При переходе на ms access + mysql этой проблемы нет. Читай хоть о чем я пишу. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 14:29 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Stanislav PСергей Лалов, К любому "что-то там SQL" прилагается админ, которому нужны денежки. Файл с БД от Access может положить в любое место любой секретарь или любой другой юзер и это не будет стоить дополнительных затрат. У вас наверное тяжело пошло программирование. С обслуживанием mysql (один сервер, одна база) разберется один сознательный семиклассник. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 14:33 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Кстати по поводу увеличения размеров бд , на этот раз на mysql- еще один плюс в сторону MyIsam. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.07.2019, 14:47 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
Сергей Лалов, https://stackoverflow.com/questions/5842/issues-using-ms-access-as-a-front-end-to-a-mysql-database-back-end#9200 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2019, 03:12 |
|
Модуль авторизации. Тестирование и обсуждение
|
|||
---|---|---|---|
#18+
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. Как говорится все Ок) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.09.2019, 17:12 |
|
|
start [/forum/topic.php?all=1&fid=45&tid=1610485]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
150ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 255ms |
0 / 0 |