Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3 4 5 6 7      [все]
 Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Недавно пришлось пришлось полазить по интернету для поиска подходящего способа авторизации пользователей в программе.
Того, чего хотелось не нашел. Пришлось разрабатывать самому, используя старые наработки и сведя всё в кучу. Вот выкладываю на суд то, что получилось. Выдрано из рабочей программы, так что есть лишние таблицы и формы.

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

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

Данный модуль имеет 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-ти миллиардное состояние Билла Гейтса?

К сообщению приложен файл (Authorization_0.1.rar - 144Kb) cкачать
21 ноя 18, 16:07    [21740300]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
vmag
Member

Откуда: MP
Сообщений: 3235
Joss
Попробуйте, как работает и выскажите своё мнение.


Вроде работает, не очень хорошо хранение паролей в явном виде, звездочки тоже фигня, желательно шифровать пароли, а лучше вместо них хранить контрольную сумму пароля (и короче и не понять что это такое)
21 ноя 18, 18:53    [21740495]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Predeclared
Member

Откуда: And God I know I'm one
Сообщений: 901
1. Переключил в режим: 3. авторизация по Login/Password
2. Перезапустился.
3. По форме ввода логина райт клик "Конструктор форм".
4. F11

Ну вот я и в хопре (с) :)
21 ноя 18, 19:23    [21740523]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Predeclared
Member

Откуда: And God I know I'm one
Сообщений: 901
Заодно:
Не надо принудительно распахивать окно Access во весь экран.
Доверьте эту миссию пользователю.
21 ноя 18, 19:26    [21740527]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Ну что ответить на замечания?
Это пример не по взлому защиты, а по организации авторизации пользователей. То, что пароли надо шифровать, я догадываюсь. В следующей версии могу реализовать. Сюда не пихал, чтоб был наглядней принцип и алгоритм авторизации.

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

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

Про то, что звёздочки можно расшифровать - я знаю. Даже где-то программа валялась - кажется asterics называется. Но вы упустили из вида, что звёздочки - это от подглядывания. Чтоб запустить программу, надо сидеть за клавой. А тот, кто вводит пароль и так его знает.
21 ноя 18, 20:35    [21740571]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Predeclared
Member

Откуда: And God I know I'm one
Сообщений: 901
Joss
... Это пример не по взлому защиты, а по организации авторизации пользователей...


dic.academic.ru
Авторизация (от английского «Authorization») – понятие, изначально использовавшееся в банковской сфере,
в области платежных карт и означает процедуру идентификации лица для предоставления доступа к неким ресурсам или возможностям,
имеющим ограниченный доступ...

Этот пример не показывает решения основной задачи авторизации пользователей.
21 ноя 18, 20:49    [21740581]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 548
Joss, принцип присвоил и забыл тут уже не действует, все время нужно будет изменять что-то (а если не менять то зачем тогда вводить) - если эти данные нужны, то нужно брать их наверное из учетно-кадровой программы (в которой есть приказы и пр.-которую ведет сотрудник, отвечающий за верность данных), в общем случае мне кажется что самое лучшее это логин/пароль - причем вводить пароль и определять логин и все. исходя из логина - права и роли - здесь этого нет (или выбор отдела это и есть оно?). кнопку лог в список сотрудников наверное нужно добавить.
21 ноя 18, 21:16    [21740590]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
vmag
Member

Откуда: MP
Сообщений: 3235
Joss
А вообще, каково впечатление? Без замечания на шифрование паролей, открытия панели навигации и Shifta.


Да ничего так, один из завершающих штрихов перед созданием коробочного варианта, без паролей как-то и приложение не приложение... единственное без инструкции не догадаешься что есть пароли (не зря же сам подробно все расписал)... Логичнее с самой первой формы узнать что ты Администратор и ты можешь зайти без пароля ибо он пока не задан...
21 ноя 18, 21:32    [21740607]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Predeclared
dic.academic.ru
Авторизация (от английского «Authorization») – понятие, изначально использовавшееся в банковской сфере,
в области платежных карт и означает процедуру идентификации лица для предоставления доступа к неким ресурсам или возможностям,
имеющим ограниченный доступ...

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

И давайте разделять задачи. Задачу закрыть доступ злоумышленнику к таблицам и коду и задачу разграничить доступ пользователям к информации средствами программы.
21 ноя 18, 23:08    [21740673]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
alecko
Joss, принцип присвоил и забыл тут уже не действует, все время нужно будет изменять что-то (а если не менять то зачем тогда вводить) - если эти данные нужны, то нужно брать их наверное из учетно-кадровой программы (в которой есть приказы и пр.-которую ведет сотрудник, отвечающий за верность данных), в общем случае мне кажется что самое лучшее это логин/пароль - причем вводить пароль и определять логин и все. исходя из логина - права и роли - здесь этого нет (или выбор отдела это и есть оно?). кнопку лог в список сотрудников наверное нужно добавить.


Похоже, Вы не совсем поняли проблему. Есть задача в которой работает несколько человек. Надо протоколировать их работу (некоторую) и разграничить доступ к информации (определённой). Никаких кадровых программ тут не надо. Это хвосты той программы, из которой я выдрал этот кусок. Что бы работать с программой пользователь должен себя идентифицировать. А дальше вступают в действие роли, прописанные в программе.
21 ноя 18, 23:27    [21740687]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Predeclared
Member

Откуда: And God I know I'm one
Сообщений: 901
Да.

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

в примере этого нет.
Различных наборов меню для пользователей разных ролей нет.
Разных наборов записей в формах/отчетах для пользователей разных ролей нет.

Нет ничего, за что можно было бы зацепиться глазом.
Студентам может сгодится, сдать зачет и забыть.
21 ноя 18, 23:33    [21740691]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Predeclared
Да.

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

в примере этого нет.
Различных наборов меню для пользователей разных ролей нет.
Разных наборов записей в формах/отчетах для пользователей разных ролей нет.

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

Если хотите посмотреть как реализовано разделение по ролям, с запретом определённых действий и информации, то добро пожаловать вот сюда Программа для ведения учета автотранспорта и дорожно-строительных механизмов В предпоследнем комменте версия для Access 2000. Вот тут А чуть выше мы с пользователем Roja обсуждали защиту.
22 ноя 18, 08:42    [21740791]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
Joss, наверное, windows авторизацию можно переделать. На SID пользователя или хотя бы определять рабочую группу\домен пользователя+логин по понятным причинам.
22 ноя 18, 09:01    [21740805]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
vmag
Вроде работает, не очень хорошо хранение паролей в явном виде, звездочки тоже фигня, желательно шифровать пароли, а лучше вместо них хранить контрольную сумму пароля (и короче и не понять что это такое)
Ну, если злоумышленник смог добраться до таблиц, то тут шифруйся - не шифруйся - всё едино. Прописаны пароли только для Login/Password авторизации. А там либо копируешь в свою запись привилегии начальника, либо копируешь в запись начальника свой пароль и заходишь как начальник, под его логином.

У себя на работе я везде сделал Windows авторизацию. Её обойти чуть-чуть сложнее. Но не намного. Повторяю: если злоумышленник смог добраться до таблиц, то всё остальное дело времени. Или шифровка не отдельных полей, а целых записей. Только быстродействие резко просядет. И трудоёмкость разработки резко возрастёт.
22 ноя 18, 09:05    [21740808]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
Joss, а я бы если бы перевел пользователей на access 2007+ - ввел бы авторизацию по времеенному паролю, который высылал бы на телефон ;) Пароль действует 8 часов и баста
22 ноя 18, 09:22    [21740820]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
Озверин
Joss, а я бы если бы перевел пользователей на access 2007+ - ввел бы авторизацию по времеенному паролю, который высылал бы на телефон ;) Пароль действует 8 часов и баста


И вообще саму аутентификацию вынес бы за рамки Акса..набросал бы сервис аутентификации или использовал бы сторонний, например - гугл. Вход через гугл учетку - модно\молодежно!
22 ноя 18, 09:23    [21740822]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Озверин
Joss, наверное, windows авторизацию можно переделать. На SID пользователя или хотя бы определять рабочую группу\домен пользователя+логин по понятным причинам.
Честно говоря не вижу причин для переделки. Очень страшно секретные данные в такой базе хранить не станешь. А если база стащена и получен доступ к таблицам, то остальное только дело времени и упорства.

Да, и такой вопрос. Если Вы вошли в сеть с другого компьютера (ваш забрали на ремонт) То Ваш SID изменится?
22 ноя 18, 09:24    [21740823]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
Joss
Озверин
Joss, наверное, windows авторизацию можно переделать. На SID пользователя или хотя бы определять рабочую группу\домен пользователя+логин по понятным причинам.
Честно говоря не вижу причин для переделки. Очень страшно секретные данные в такой базе хранить не станешь. А если база стащена и получен доступ к таблицам, то остальное только дело времени и упорства.

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


Нет, не изменится. Но если у вас пользователи имеют возможность сменить себе логин или завести нового локального пользователя - то как бе не проблема зайти под кем угодно.
22 ноя 18, 09:26    [21740826]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
Joss, а смысл тащить клиента? В нем же нет данных.
22 ноя 18, 09:27    [21740827]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Озверин
Озверин
Joss, а я бы если бы перевел пользователей на access 2007+ - ввел бы авторизацию по времеенному паролю, который высылал бы на телефон ;) Пароль действует 8 часов и баста


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

Начальство/заказчик просто хочет, чтоб Вася и Коля, которые работают с этой программой не лезли в дела/записи друг друга, И чтобы Витя, которому до этих задач вообще нет дела, не совал бы свой любопытный нос куда не надо. И чтобы оно (начальство) всегда могло определить кто, что натворил и кого за это иметь.
22 ноя 18, 09:34    [21740833]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
Joss
Озверин
пропущено...


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

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


да я понимаю. Но ведь люди должны уставать клепать садовые тележки...А то, что вы заявили, есть в бесплатном доступе - зачем это создавать по сто раз, да еще и на устаревших технологиях? Вон, пусть берут какую нить модную бесплатную CRM и crmят там. Допустим, тот же битрикс24(облако) до 12 человек бесплатен. Или какую нить опенсурс качают да используют.
22 ноя 18, 09:36    [21740835]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Озверин
... Но если у вас пользователи имеют возможность сменить себе логин или завести нового локального пользователя - то как бе не проблема зайти под кем угодно.


Это Вы о моей программе? Для авторизации Login/Password ?
Или о Windows?
22 ноя 18, 09:41    [21740841]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
Joss
Озверин
... Но если у вас пользователи имеют возможность сменить себе логин или завести нового локального пользователя - то как бе не проблема зайти под кем угодно.


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


я так подумал, что это будущая crm система ;)
22 ноя 18, 09:45    [21740845]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

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

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

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

P.S.S. Но ведь люди должны уставать клепать садовые тележки...(с) Да. Я устал. Но делать космические корабли мне не предлагают. А садовые тележки с моторчиками иногда пользуются спросом.
22 ноя 18, 10:01    [21740860]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Вот новая версия модуля авторизации. Подчистил хвосты. Убрал все дополнительные таблицы и формы. Теперь ничего не должно отвлекать.

Что не сделал.
Не сделал шифрование пароля. Если надо, то сделаю в следующей версии.

К сообщению приложен файл (Authorization_0.2.rar - 118Kb) cкачать
22 ноя 18, 12:29    [21741119]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 548
Joss, для входа, пароль вводить необязательно. ввел Логин, зашел, можно завести нового пользователя. вобщем никаких ограничений.
и это окно при выходе... может просто перенести кнопку выхода вверх вправо - и не спрашивать очевидное?
22 ноя 18, 13:23    [21741247]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
alecko
Joss, для входа, пароль вводить необязательно. ввел Логин, зашел, можно завести нового пользователя. вобщем никаких ограничений.
и это окно при выходе... может просто перенести кнопку выхода вверх вправо - и не спрашивать очевидное?
Ну поставил бы я опрос на возможность добавлять пользователей только админу? Ну и что?

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

Хотя кое в чём Вы и правы. Надо в примере для рядовых пользователей ввести запрет на изменение, добавление новых пользователей.
Доработаю - выложу.
22 ноя 18, 14:12    [21741331]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Новая версия программа. Теперь добавить удалить и изменить параметры, а так же сменить способ авторизации может или "Admin" или пользователь с администраторскими привилегиями. В параметрах пользователя появился флажок "Администратор"

К сообщению приложен файл (Authorization_0.3.rar - 116Kb) cкачать
22 ноя 18, 16:01    [21741580]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 548
Joss, может добавить суперюзера? (который имеет право создавать/изменять юзеров своего отдела) админу оставить права на создание этих суперюзеров только.
для входа также не нужен пароль - хватает логина.
окна с ругательствами заменил бы на Enabled=false кнопок или даже .visible=false.
22 ноя 18, 16:28    [21741643]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Подумаю. На счёт ругательств согласен. Лень было код дописывать. На счёт суперюзера не понял. Чем флажок "Администратор" не устраивает?
22 ноя 18, 16:35    [21741656]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
Двигаемся по github-way: https://github.com/cudu/ms-access-2007-authorization
22 ноя 18, 16:44    [21741666]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Озверин, и что это значит?
22 ноя 18, 16:49    [21741673]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 548
Joss
На счёт суперюзера не понял. Чем флажок "Администратор" не устраивает?

админ не знает кто в каком отделе с чем работает, соответственно не сможет эффективно управлять ролями и правами на работу с документами, при этом их может эффективно раздавать суперюзер, который при этом в остальных случаях - обычный юзер (управление настройками программы, архивирование, обслуживание базы)
22 ноя 18, 17:40    [21741749]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4337
Озверин, а почему *.txt, а не *.bas и *.cls?
22 ноя 18, 18:35    [21741870]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
Панург
Озверин, а почему *.txt, а не *.bas и *.cls?


потому что встроенный saveastext сохраняет в txt, соответственно, встроенный loadfromtext - из txt загружает все обратно.
22 ноя 18, 22:21    [21742166]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
Joss
Озверин, и что это значит?


что твой код можно посмотреть на гитхабе. можно загрузить его. изменить - вдруг комьюнити подключится. По-хорошему, следует избавиться от русских букв в комментариях и сообщениях )
22 ноя 18, 22:25    [21742167]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Озверин
Joss
Озверин, и что это значит?


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

P.S. Честно говоря, я не знаю что такое гитхаб. Позор на мою лысую голову...
23 ноя 18, 08:31    [21742317]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Вчера дома дорабатывал модуль по предложениям aleco. Но вот куда потом его скинул, найти не могу. Сейчас загрузили работой. Или вечером посмотрю дома или когда освобожусь попробую наработки восстановить по памяти.

И на счёт шифрования пароля в таблице. Если я выложу программу шифрования, то любой сможет расшифровать зашифрованное, тогда зачем она? Любители могут посмотреть на сайте NSA пример по шифровке данных в таблице. Могу его встроить в модуль.
23 ноя 18, 08:41    [21742323]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4337
Озверин
потому что встроенный saveastext сохраняет в txt, соответственно, встроенный loadfromtext - из txt загружает все обратно.
экспортом пользоваться не пробовал?
23 ноя 18, 09:45    [21742395]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4337
upd. У классов могут быть специальные настройки и скрытые атрибуты, я не уверен что они сохранятся подобным способом.
23 ноя 18, 09:47    [21742398]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
Панург
upd. У классов могут быть специальные настройки и скрытые атрибуты, я не уверен что они сохранятся подобным способом.


все работает как часы.
23 ноя 18, 09:48    [21742400]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
Панург
Озверин
потому что встроенный saveastext сохраняет в txt, соответственно, встроенный loadfromtext - из txt загружает все обратно.
экспортом пользоваться не пробовал?


экспортом чего и куда?
23 ноя 18, 09:48    [21742401]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4337
Joss
Если я выложу программу шифрования, то любой сможет расшифровать зашифрованное, тогда зачем она?
Пароли не шифруют, хранят хэш.
23 ноя 18, 09:51    [21742404]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4337
Озверин
все работает как часы.
Картинка с другого сайта.
23 ноя 18, 10:04    [21742432]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Панург
Joss
Если я выложу программу шифрования, то любой сможет расшифровать зашифрованное, тогда зачем она?
Пароли не шифруют, хранят хэш.

Значит нужна программа хеширования паролей на VBA. У Вас она есть? У меня нет. Серьёзно. Хочу поискать. Где-то лежал расчёт CRC32 на VB. Может его приспособить.
И я писал, что если злоумышленник добрался до таблиц, то наличие шифрования паролей его вряд ли остановит.

И кстати, в интернете можно найти ломалки и онлайн сервисы по подбору паролей по их хэшу. Я даже как-то таким пользовался.
23 ноя 18, 11:12    [21742543]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4337
Joss
И кстати, в интернете можно найти ломалки и онлайн сервисы по подбору паролей по их хэшу.
Что один человек сделал, то другой завсегда сломать сможет. ©

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

Такие секретные данные в базе?
23 ноя 18, 11:21    [21742557]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Панург
Такие секретные данные в базе?
Та нет там ничего секретного. Лично у меня в базе хранятся данные по анкетам. И идентификация служит для того, чтобы определить, кто внёс, когда и сколько.

Для более серьёзных вещей ведётся протоколирование. Не только кто и когда, но и что именно изменил, добавил или убрал.
23 ноя 18, 11:59    [21742650]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Выдалось немного свободного времени. Подправил программу по замечаниям aleco. Теперь при открытии списка пользователей обычным пользователем кнопки для добавления, изменения и удаления не видны.

К сообщению приложен файл (Authorization_0.4.4.rar - 126Kb) cкачать
23 ноя 18, 14:44    [21742894]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Как говорится, совершенству нет предела.
В моей программе есть несколько проблемных мест. Одно из них - ввод пароля администратора через InputBox. Все сидящие рядом могут его увидеть. Надо было или разрабатывать специальную форму для ввода пароля или модернизировать функцию InputBox так, что бы она могла работать в режиме ввода паролей (***). После недолгого поиска в сети я это нашел.
Теперь предлагаю новую версию программы с вводом пароля в скрытом режиме.

Программа тестировалась в Access 2010 64/32 под Windows 7 64/32 и в Access 2016 32 под Windows 10 64. Других под рукой не оказалось.

К сообщению приложен файл (Authorization_0.5.rar - 122Kb) cкачать
24 ноя 18, 15:35    [21743696]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Predeclared
Member

Откуда: And God I know I'm one
Сообщений: 901
Joss
... Надо было или разрабатывать специальную форму для ввода пароля или модернизировать функцию InputBox...

Зачем?
Есть уже форма авторизации.
Зачем городить дополнительные?
24 ноя 18, 15:54    [21743702]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Predeclared
Member

Откуда: And God I know I'm one
Сообщений: 901
Зачем "рядовому" пользователю видеть форму Сотрудники, на которой он не может педалировать кнопки?
Дайте ему отчет, пусть смотрит номера телефонов и почту, если это требуется.
И администратору не придется на каждый чих вводить свой пароль,
достаточно первичной авторизации.
24 ноя 18, 15:58    [21743706]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Predeclared
Member

Откуда: And God I know I'm one
Сообщений: 901
Predeclared
Зачем?
Есть уже форма авторизации.
Зачем городить дополнительные?

Как-то так, например:

К сообщению приложен файл. Размер - 56Kb
24 ноя 18, 17:52    [21743767]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Predeclared
Member

Откуда: And God I know I'm one
Сообщений: 901
И лучше поработать над Enabled кнопок, чем показывать юзеру описание ошибок разработчика.
Пара примеров:

К сообщению приложен файл. Размер - 121Kb
24 ноя 18, 18:08    [21743777]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Predeclared
Member

Откуда: And God I know I'm one
Сообщений: 901
2

К сообщению приложен файл. Размер - 42Kb
24 ноя 18, 18:08    [21743779]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Лапух
Member

Откуда: Стойбище № 7
Сообщений: 883
Predeclared,

А как вы смогли сразу 4 рисунка приложить к одному сообщению?
Я тоже так хочу.
У меня чёй та - Всегда только один прилаживается.Картинка с другого сайта.
24 ноя 18, 18:12    [21743784]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
vmag
Member

Откуда: MP
Сообщений: 3235
Лапух
А как вы смогли сразу 4 рисунка приложить к одному сообщению?


Первый рисунок распечатываешь, потом прикладываешь его к монитору на другой сюжет, фоткаешь, потом фотку распечатываешь, опять прикладываешь к монитору на третий сюжет, фоткаешь итак в цикле...
24 ноя 18, 18:32    [21743796]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Predeclared
Member

Откуда: And God I know I'm one
Сообщений: 901
Лапух,
Это один файл, собранный из четырех скринов в паинте.
Сам несколько картинок не умею к одному сообщению.
24 ноя 18, 18:52    [21743803]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Лапух
Member

Откуда: Стойбище № 7
Сообщений: 883
Predeclared,
Ну да. да. да, я так именно и понял из вашего ответа.
Просто в связи с новыми веяниями предположил, что появились новые возможности, которых я не узрил.
Спасибо за развёрнутый ответ, понятный даже мне. Картинка с другого сайта.
24 ноя 18, 18:57    [21743805]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Predeclared, большое спасибо Вам что погоняли мою программу на критические ситуации. Иногда соображалка загружена другими проблемами и ты просто упускаешь что-то важное из виду. Ваши замечания по ошибкам я исправил.

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

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

В приложении программа доработанная по замечаниям Predeclared.

К сообщению приложен файл (Authorization_0.5.6.rar - 129Kb) cкачать
25 ноя 18, 13:12    [21744065]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Predeclared
Member

Откуда: And God I know I'm one
Сообщений: 901
Joss
... и ты просто упускаешь что-то важное из виду...

Я постоянно наступаю на аналогичные грабли, потому знаю где их искать. :)

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

Нет спец кнопок.
Кнопка одна, подписей две.

К сообщению приложен файл. Размер - 55Kb
25 ноя 18, 13:24    [21744070]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Да-а-а... А как тогда различить, когда ты вводишь пароль, а когда хочешь его изменить?

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

Где эта форма должна выводиться? При запуске программы? А где кнопка отмены?
В процедуре смены пароля? Так там и моя форма нормально работает.
25 ноя 18, 15:56    [21744137]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Predeclared
Member

Откуда: And God I know I'm one
Сообщений: 901
Joss
... А как тогда различить, когда ты вводишь пароль, а когда хочешь его изменить?...

Форма может иметь несколько режимов, один из которых можно задать до показа ее на экране.
В соответствии с заданным режим настраиваются свойства контролов, их реакция на события.
Joss
... И куда вводить тогда подтверждение пароля? ...

Есть для этого специально обученное поле с лейблом. На скрине оно есть.
Joss
...Где эта форма должна выводиться? При запуске программы? ...

Там где есть потребность в ней, в том числе при запуске, если текущие настройки требуют авторизации.
Joss
...А где кнопка отмены? ...

Есть штатный крестик вверху справа.
Если есть потребность, можно и кнопку отмена добавить.
Joss
... Так там и моя форма нормально работает.

Две формы + инпутбох на куче апишек + разбросанная по нескольким несвязанным модулям(включая модули форм) логика?
Не, это не мой паттерн, однако.

Мой паттерн такой:
Модуль класса, отвечающий за всю логику + форма, как пульт управления.
25 ноя 18, 18:58    [21744208]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Predeclared
Две формы + инпутбох на куче апишек + разбросанная по нескольким несвязанным модулям(включая модули форм) логика?
Не, это не мой паттерн, однако.

Мой паттерн такой:
Модуль класса, отвечающий за всю логику + форма, как пульт управления.
Вам и карты в руки, сделайте свой класс. А я с классами не слишком дружен.
25 ноя 18, 22:13    [21744289]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Тут рекомендовали вместо паролей хранить их хеши. Кто хочет - пожалуйста Получение MD5 хэша в VBA
26 ноя 18, 16:31    [21745153]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Predeclared
Member

Откуда: And God I know I'm one
Сообщений: 901
Joss
... Вам и карты в руки, ...

Взял я таки карты в руки, раскинул пасьянс.
Нарисовался черновик объектной модели решения задачи.
На permissions застопорился. Реализация сильно зависит от конкретного ТЗ.

К сообщению приложен файл. Размер - 48Kb
27 ноя 18, 20:51    [21746601]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Я пытался сделать максимально универсальный модуль, который можно встраивать в любую задачу с соответствующими доработками.
По сравнению с первым представленным вариантом я убрал все ссылки на структуру организации: таблицы с отделами, должностями, организациями, структуру подчинённости и соответствующие формы и поля. Всё это уже добавляет разработчик под конкретную задачу.

Есть узкое место. В логике и коде жестко прописаны названия таблиц пользователей и параметров программы. У многих разработчиков уже устоявшиеся названия для соответствующих таблиц. Я, например, называю таблицу пользователей USysUsers. Но это можно обойти разработав хранимые запросы с соответствующими названиями.
28 ноя 18, 08:34    [21746807]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Следующая доработка.
Добавлен контроль на задание логина Admin и на дубликаты логинов (для третьего режима)

К сообщению приложен файл (Authorization_0.5.8.rar - 114Kb) cкачать
29 ноя 18, 13:20    [21748478]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Тут меня спрашивали, "а почему не сделать список пользователей выпадающим?"

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

Да, и при первом запуске в режиме Login/Password она подставляет логин администратора. А дальше как хотите. Входите под администратором или вводите другой логин.

К сообщению приложен файл (Authorization_0.6.9.rar - 118Kb) cкачать
10 дек 18, 10:58    [21758869]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 88
На последней версии:
Система без авторизации.
1. Запускаем программу
2. Нажимаем кнопку с Менеджерами/юзерами
3. Нажимаем добавить и вводим пароль админа
4. Вводим любую фамилию
5. Вводим свой текущий логин Windows
6. Сохраняем
7. Закрываем окно с юзерами
8. Заходим в "Сервис\Настройка программы"
9. Выбираем режим "Авторизация Windows"
10. Выходим из программы, нажимая кнопки на форме.
Запускаем программу вновь и пытаемся сменить свой пароль. Нам отвечают, что "Текущий пользователь не определён", хотя пользователь определённо определён. Это нормальное поведение?

Так же выскакивает ошибка 2450 (Приложению не удаётся найти указанную форму в процедуре закрытия окна), при закрытии через кнопку "Закрыть" окна Access при активном любом окне, кроме главной формы.
12 дек 18, 17:31    [21761908]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Давайте по порядку

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

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

Если это так важно, могу впихнуть контроль. Но это немного усложнит программу. Мне без разницы, а разбираться в коде будет чуть труднее
13 дек 18, 11:09    [21762603]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Наконец-то выдалось свободное время и доработал программу по замечаниям Stanislav P
Ну кроме контроля загруженных форм (Ошибка 2450). Может позже доделаю.

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

К сообщению приложен файл (Authorization_0.6.11.rar - 117Kb) cкачать
15 дек 18, 16:13    [21764841]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
В предыдущей выкладке пароль администратора был 123123. Случайно изменил при отладке

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

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

P.S. По сравнению с первыми версиями программа усложнилась из-за различных проверок. Но зато теперь вроде без ошибок.

К сообщению приложен файл (Authorization_0.6.12.rar - 119Kb) cкачать
17 дек 18, 11:27    [21765737]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 88
Продолжим:
Начальная база, заходим (включен режим без авторизации). Заходим в "Сервис\Настройка программы", нас спрашивают пароль Админа, вводим его. Меняем режим на "windows-авторизация". Выходим из программы.
Снова заходим, нам говорят, что нас нет в программе и предлагают войти под админом, на что мы соглашаемся и входим.
Заходим в список пользователей и добавляем нового пользователя с любой фамилией, установленными галочками "Администратор", "Действующий" и логином Винды. Выходим из программы.
Заходим снова, под текущим юзером Винды как админ (нас ни о чём не спрашивают). Добавляем в любом пользователелогин Винды текущего пользователя (то есть, в базе уже два одинаковых виндовых логина, что уже чревато последствиями). Выходим из формы юзера в список юзров, сохраняя исправления и нажимаем кнопку "Изменить" на любом пользователе, нам сообщают, что текущий пользователь не является администратором, хотя только-что мы были админом. Выходим из программы.
Заходим снова, нам сообщают, что нас нет в списке пользователей, хотя в этом списке уже два пользователя с виндовой авторизацией.
18 дек 18, 15:35    [21767273]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 88
Ещё одна проблема: если зайти под виндовым юзером имеющим админские привилегии и убрать виндовый логин, оставив обычный, сохранив изменения, то потом, нажав кнопку "Изменить" в списке пользователей получим это:

К сообщению приложен файл. Размер - 16Kb
18 дек 18, 15:53    [21767303]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Stanislav P, спасибо за тестирование программы. Очень помогли.

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

Вот последнюю ситуацию я ещё не сообразил, как избежать. Но думаю над этим.

К сообщению приложен файл (Authorization_0.6.13.rar - 119Kb) cкачать
19 дек 18, 11:42    [21768134]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 88
Joss
Вот последнюю ситуацию я ещё не сообразил, как избежать. Но думаю над этим.

У тебя на каждое движение постоянно идёт выборка из базы, поэтому и ошибка выскакивает.
Если взять пример реализации из операционной системы, то залогиненный юзер будет админом даже тогда когда у него отобрали права админа. Он перестанет быть админом только после того как выйдет и зайдёт заново.
То есть, тебе не нужно каждый раз делать выборку из базы, а просто завести некую переменную, которой присваивать соответствующее значение (админ, юзер) при входе юзера. И все остальные проверки делать уже на основе этой переменной, так и базу меньше будешь дёргать и скорость работы программы повысится. :)
19 дек 18, 15:48    [21768506]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 88
Я бы реализацию делал бы немного иначе. Завёл-бы одну таблицу на всех юзеров. Если база нулевая, то появляется окошко регистрации админа и человек вводит нужный логин и ФИО, таким образом первый юзер всегда сначала админ, этим мы избавляемся от попыток подключения к базе под заранее известным логином. После чего показываем человеку окно логина, он вводит только-что введённый логин, после чего его статус пишется в TempVars-переменную и по ней мы уже проверяем его доступ. Так-же в TempVars записываем кол-во админов и уменьшаем это число каждый раз, когда у очередного юзера убирают галочку "Админ" (увеличиваем, если добавляют галочку). А если переменная кол-ва админов содержит только единицу, то делаем поле "Админ/не админ" заблокированным.
Можно в таблицу "Юзеры" ручками занести логин "админ" и исключить код добавления юзера на стадии первого подключения к нулевой базе.
19 дек 18, 16:02    [21768528]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Лапух
Member

Откуда: Стойбище № 7
Сообщений: 883
Stanislav P
...Я бы реализацию делал бы немного иначе. Завёл-бы одну таблицу на всех юзеров. Если база нулевая, то появляется окошко регистрации админа и человек вводит нужный логин и ФИО...

Я вот тоже об этом при первом скачивании БД для тестирования подумал.
Но посчитав, что я начал зрить пример не вникнув в суть вопроса, то стал смотреть с самого первого поста и примера, а соответственно заметил, что дабы каждый раз логин и пароль не вводить, ради сути, то сама форма авторизации временно была как бы отодвинута в сторону и обозначеноа главная задачка.
Или я в чём то не прав и самое главное как всегда упустил?
19 дек 18, 16:45    [21768595]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Лапух
Member

Откуда: Стойбище № 7
Сообщений: 883
Блин блинский.
Хотел тоже показать как я в своих тщетных попытках хотел нечто подобное сделать, а оно из за размера как всегда не приложилось.
Интересно из за чего?
Наверное я какой ни то типа - Максималист. Картинка с другого сайта. и не обращаю внимание на размах. Картинка с другого сайта.
19 дек 18, 16:53    [21768608]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 88
Для своего проекта я делаю почти так, как выше описал. За исключением того, что у меня нет поля "Админ", у меня всё завязывается на RBAC-модели, а там надо хранить в памяти побольше данных и я ещё не придумал как это сделать красиво.
19 дек 18, 20:18    [21768855]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
автор
Если взять пример реализации из операционной системы, то залогиненный юзер будет админом даже тогда когда у него отобрали права админа. Он перестанет быть админом только после того как выйдет и зайдёт заново.
То есть, тебе не нужно каждый раз делать выборку из базы, а просто завести некую переменную, которой присваивать соответствующее значение (админ, юзер) при входе юзера. И все остальные проверки делать уже на основе этой переменной, так и базу меньше будешь дёргать и скорость работы программы повысится. :)


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

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

Может действительно попробовать переписать как в системе?
20 дек 18, 08:37    [21769126]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 88
Я бы сделал новый тип данных и при авторизации запихивал бы все данные текущего юзера в переменную нового типа.
И все проверки свёл-бы к списку:
Проверка на последнего админ (блокируем чекбокс "админ")
Проверка на одинаковый логин Винды (можно просто сделать индексом)
Проверка на одинаковый локальный логин (то же самое - индекс)
Проверка на удаление самого себя (проверка при нажатии кнопки "удалить юзера")
20 дек 18, 10:51    [21769238]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Stanislav P
...
Проверка на одинаковый логин Винды (можно просто сделать индексом)
Проверка на одинаковый локальный логин (то же самое - индекс)
...
Я так и хотел в начале, но не получается. Они могут быть пустыми
20 дек 18, 11:22    [21769271]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Следующая версия. Пользователь и его привилегии определяются при входе в программу и действуют всю сессию.

К сообщению приложен файл (Authorization_0.6.15.rar - 120Kb) cкачать
20 дек 18, 14:40    [21769610]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 88
Joss
Я так и хотел в начале, но не получается. Они могут быть пустыми

Если есть система авторизации, то логин должен быть обязательно. В винду, да в любую ОС не зайдёшь без логина. То есть, у юзера должен быть, как минимум, один из двух логинов. То есть, при создании нового юзера нельзя выйти из формы, пока не будет вбит один из двух логинов.
У тебя всего семь возможных вариантов сочетания юзеров и админов. Всё это легко укладывается в тройку IF, или один SELECT CASE.
Можно свой ENUM сделать и при входе присваивать переменной "ТекущийСеанс" значение из enum и затем пропускать через CASE.
20 дек 18, 15:48    [21769733]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 88
В ОС всегда есть юзер - Гость, под ним авторизуются анонимы, в твоём случае его можно даже не заводить в таблицы.
Можно создать новый Enum "Тип Юзера" и три значения: админ, юзер, гость. И исходя из текущего типа юзера, и выбранного режима авторизации, показывать окно для ввода пароля встроенного админ (когда в выбранном варианте авторизации нет админов), либо блокировать доступ (есть другие админы у текущей авторизации), разрешать доступ если вошедший юзер админ в этой авторизации.
20 дек 18, 15:58    [21769750]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Stanislav P
Joss
Я так и хотел в начале, но не получается. Они могут быть пустыми

Если есть система авторизации, то логин должен быть обязательно. В винду, да в любую ОС не зайдёшь без логина. То есть, у юзера должен быть, как минимум, один из двух логинов. То есть, при создании нового юзера нельзя выйти из формы, пока не будет вбит один из двух логинов.
так и сделано. попробуйте создать пользователя без логина.
Stanislav P
У тебя всего семь возможных вариантов сочетания юзеров и админов. Всё это легко укладывается в тройку IF, или один SELECT CASE.
Можно свой ENUM сделать и при входе присваивать переменной "ТекущийСеанс" значение из enum и затем пропускать через CASE.
Ничего не понял. Какие сочетания? Есть пользователь. Он может быть админом. А может и не быть. Всё.
20 дек 18, 16:11    [21769773]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Stanislav P
В ОС всегда есть юзер - Гость, под ним авторизуются анонимы, в твоём случае его можно даже не заводить в таблицы.
Не есть, а предусмотрен. У нас на предприятии, да и у меня дома он отключен.
Stanislav P
Можно создать новый Enum "Тип Юзера" и три значения: админ, юзер, гость. И исходя из текущего типа юзера, и выбранного режима авторизации, показывать окно для ввода пароля встроенного админ (когда в выбранном варианте авторизации нет админов), либо блокировать доступ (есть другие админы у текущей авторизации), разрешать доступ если вошедший юзер админ в этой авторизации.
Не плодите сущности сверх необходимости. Зачем всё это?
Программа может быть без авторизации. Такую программу обычно ставят у себя на компьютере, где работает только один человек. Других пользователей не предусмотрено.
Программа может быть с Windows авторизацией. Как у меня на работе. Домен, выделенный сервер, строгие права. При входе авторизовался, зачем дёргаться ещё раз при входе в программу?
Программа может иметь авторизацию Login/Password. Это для персональных компьютеров коллективного пользования. Когда нет системщика, никто не заводит логины для каждого пользователя. И вообще возможно нет сети. Какая-нибудь малая организация. Пришел, включил компьютер, начал работать. Пришел сменщик. Встал, не выключая компьютер, пошел домой.
20 дек 18, 16:25    [21769798]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5183
Joss, ну все таки это не windows авторизация....
Можно добавить авторизации по логину паролю с источником из AD по ldap протоколу.
20 дек 18, 16:45    [21769834]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Что-то я в терминологии запутался... А можно разъяснить подробнее?
20 дек 18, 22:04    [21770090]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Небольшое исправление. Предусмотрел флажок "Действующий" в параметрах сотрудника, но забыл включить его контроль. Исправился. Теперь в программу могут войти только действующие сотрудники.

К сообщению приложен файл (Authorization_0.6.16.rar - 118Kb) cкачать
21 дек 18, 08:38    [21770210]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 88
Joss
Что-то я в терминологии запутался... А можно разъяснить подробнее?

В операционных системах есть два типа авторизации:
1. Локальная, когда запись о пользователе храниться на этом конкретном компьютере.
2. Централизованная, когда запись о пользователе хранится в некоей системе.

Если сравнивать с твоей программой, то вариант "логин/пароль" может брать информацию о юзере не только из локальной таблицы юзеров, но и из прилинкованной, которая централизованно хранится в БД где-то на сервере и все копии твоей программы обращаются к этой таблице. LDAP, по сути - БД, для работы с ней нужна только строка подключения.
21 дек 18, 09:26    [21770232]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Лапух
Member

Откуда: Стойбище № 7
Сообщений: 883
Joss,

А откуда, при открытии БД, Оно знает, что меня нет в списке пользователей? Картинка с другого сайта.
21 дек 18, 10:54    [21770294]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Лапух
Joss,

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

Сверяется с таблицей пользователей tbl_Users... Ну хорошо, после открытия БД... Если это определение для Вас так важно.
Перед допуском к интерфейсу задачи. Такое определение Вас устроит, Вини?
21 дек 18, 11:22    [21770310]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Stanislav P
Joss
Что-то я в терминологии запутался... А можно разъяснить подробнее?

В операционных системах есть два типа авторизации:
1. Локальная, когда запись о пользователе храниться на этом конкретном компьютере.
2. Централизованная, когда запись о пользователе хранится в некоей системе.

Если сравнивать с твоей программой, то вариант "логин/пароль" может брать информацию о юзере не только из локальной таблицы юзеров, но и из прилинкованной, которая централизованно хранится в БД где-то на сервере и все копии твоей программы обращаются к этой таблице. LDAP, по сути - БД, для работы с ней нужна только строка подключения.
Я там расписывал, что для сетевой работы с доменом должна использоваться Windows авторизация, а при работе на локальном компьютере - Login/Password
21 дек 18, 11:27    [21770314]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 88
Joss
Я там расписывал, что для сетевой работы с доменом должна использоваться Windows авторизация, а при работе на локальном компьютере - Login/Password

:) В Винде, которая в AD-домене можно зайти на локальный компьютер с локальным логином userA или зайти в домен с логином userA, но это абсолютно два разных юзера, хотя у них совпадает логин и может полностью совпадать ФИО.
То есть, на компьютере с именем Comp001, есть вариант входа Comp001\User1 и вариант Domen\User1
Если рассматривать форму авторизации в отрыве от остальной безопасности в программе, то эти логины равнозначные, если же рассматривать в комплексе, то это нарушение безопасности.
Озверин тебе сказал, что по логин/паролю так-же можно авторизовываться в LDAP, то есть, это тоже windows-авторизация, но не совсем стандартным путём. Но на это можно забить.
21 дек 18, 12:34    [21770370]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Лапух
Member

Откуда: Стойбище № 7
Сообщений: 883
Joss,

Я так и знал, что везде шпиены. Картинка с другого сайта. и за нами все следят. Картинка с другого сайта.
И ваще я не Вини, а Лапух. Картинка с другого сайта.

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

Да и кстати, когда открываю ваш пример, то так как у меня 2000-й и DAO приходится ручками подключать в референсах ручками, что не даёт ни чего сделать. пока не зайдешь с шифтом.
Плюс приходится снимать галочку с библиотек более поздних версий.
Не будет ли это проблемой для пользователей, у которых офис не такой как у вас?
Ибо все равно же уберете возможность пользования шифтом в конце, да ещё и в mde наверное преобразуете.
21 дек 18, 12:38    [21770373]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 88
Joss, В последней версии, если включить режим windows-авторизация и при этом либо отключить пользователя с админскими правами, либо забрать их у него, в дальнейшем нельзя никаким образом воспользоваться админскими привелегиями. То есть, придётся вызывать программиста, чтобы как-то проадминистрировать программу. Соответственно в двух других режимах этой проблемы нет.
21 дек 18, 13:02    [21770418]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Stanislav P
Joss, В последней версии, если включить режим windows-авторизация и при этом либо отключить пользователя с админскими правами, либо забрать их у него, в дальнейшем нельзя никаким образом воспользоваться админскими привелегиями. То есть, придётся вызывать программиста, чтобы как-то проадминистрировать программу. Соответственно в двух других режимах этой проблемы нет.
это я уже просёк и в ближайших версиях доработаю. Будет возможность простому пользователю из 2-го режима переключиться в 3 режим.
21 дек 18, 13:37    [21770458]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Лапух
Joss,

Я так и знал, что везде шпиены. Картинка с другого сайта. и за нами все следят. Картинка с другого сайта.
И ваще я не Вини, а Лапух. Картинка с другого сайта.

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

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

На счёт Вини. Просто вспомнилось

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

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

Я начал с очень простого, если посмотрите с первого поста. Но меня стали критиковать за недоделанность, Я тогда сразу написал, что все замечания можно устранить, но код вырастет и потеряет наглядность. Так и вышло.
Или режешь функциональность или мирись с увеличением объёма кода.
21 дек 18, 13:54    [21770468]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Лапух
Member

Откуда: Стойбище № 7
Сообщений: 883
Joss,

Ну прям ни че не скрыть, ни где не затаиться. Картинка с другого сайта.
Точно везде камеры и шпиены.

По существу, я не особый Конспиролог и шифровальщик, просто смотрю, все кому не лень тестируют, думаю тоже руку приложу.
Я просто так, смотрю пример и развитие событий для интереса, вдруг лет через 50-100 тоже захочется сотворить нечто подобное, но пока другие "дурацких планов" навалом.
Так что ради меня ни чего подлаживать не стоит, просто подумалось, вдруг не учли такую оказию, как у меня, типа 2000 акс.
21 дек 18, 16:10    [21770680]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Возможно окончательный вариант.

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

Добавлено предупреждение, если Вы захотите удалить сами себя из списка пользователей программы.

К сообщению приложен файл (Authorization_0.7.19.rar - 123Kb) cкачать
22 дек 18, 14:31    [21771053]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Никто ещё не проверял или нет ошибок?
25 дек 18, 12:25    [21772832]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 88
Не смотрел, так как проведённое ранее тестирование и просмотр твоего кода натолкнули на идею переписать свой модуль авторизации.
25 дек 18, 14:34    [21772975]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Ну и как? Выложишь для просмотра и обсуждения?

Будет время - посмотри. Много доработал по твоим замечаниям.
25 дек 18, 14:50    [21772992]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 88
Да, потестирую, как будет время.
Свой вариант тоже выложу.
25 дек 18, 14:57    [21773008]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4593
ПЕНСИОНЕРКА,

проба
27 дек 18, 14:56    [21774847]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4593
ПЕНСИОНЕРКА
ПЕНСИОНЕРКА,

проба

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

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

такое решение возникло в задаче, где сначала на главной форме было более 60 кнопок, причем требовалось скрывать лишние в зависимости от прав доступа
27 дек 18, 14:57    [21774851]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Не совсем то... Здесь речь идёт пока не о разграничении доступа, а о регистрации в программе. А уже после регистрации в программе начинается задача разграничения доступа.

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

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

Этот модуль можно встроить практически в любую задачу и дополнить его по своему желанию. Механизмы добавления, удаления и изменения параметров пользователя, а так же переключения режимов авторизации фактически отработаны (ну или почти отработаны).
27 дек 18, 15:25    [21774885]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
vmag
Member

Откуда: MP
Сообщений: 3235
Joss
Этот модуль можно встроить практически в любую задачу и дополнить его по своему желанию. Механизмы добавления, удаления и изменения параметров пользователя, а так же переключения режимов авторизации фактически отработаны (ну или почти отработаны).


Картинка с другого сайта.... остается только искать задачи и тех, кто готов заплатить за решение этих задач...
28 дек 18, 13:09    [21775666]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 88
Версия: 0.7.19
Запускаем в первый раз. Заходим без логина. Заходим в таблицу пользователей и нажимаем кнопку изменить. Нам предлагают ввести пароль Админа, что мы и делаем. Закрываем форму изменения пользователя без внесения каких-либо изменений. Заходим в "Сервис" и нажимаем кнопку "сменить пароль текущего юзера". Нам предлагают ввести пароль админа, что мы и делаем, затем появляется окно ввода нового пароля, вводим пароль (не уверен, что это важно, но я вводил 121212). Получаем ошибку на скриншоте.

К сообщению приложен файл. Размер - 23Kb
28 дек 18, 15:47    [21775879]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 88
Те-же операции в других режимах этой ошибки не вызывают.
28 дек 18, 15:55    [21775888]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Stanislav P, спасибо. Буду смотреть.
28 дек 18, 19:00    [21776012]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Исправленная версия

К сообщению приложен файл (Authorization_0.7.20.rar - 127Kb) cкачать
28 дек 18, 19:43    [21776032]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 88
Версия 0.7.20

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

К сообщению приложен файл. Размер - 23Kb
29 дек 18, 12:48    [21776325]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 88
Пробежался по коду программы, ты везде делаешь селект делаешь по имени. На мой взгляд, это лучше делать по id юзера, который запихнуть в переменную. А тому-же встроенному админу присвоить нулевой ID. Тогда код программы можно значительно упростить и избежать ошибок с нулевым кол-вом строк из селекта.
29 дек 18, 13:54    [21776402]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Stanislav P
Пробежался по коду программы, ты везде делаешь селект делаешь по имени. На мой взгляд, это лучше делать по id юзера, который запихнуть в переменную. А тому-же встроенному админу присвоить нулевой ID. Тогда код программы можно значительно упростить и избежать ошибок с нулевым кол-вом строк из селекта.

Спасибо за тестирование. В одних местах я уже переделал под Id, а в некоторых ещё остались. Буду разбираться и с этой ошибкой.
29 дек 18, 15:19    [21776469]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Stanislav P
Версия 0.7.20

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


Что-то Вы здесь пропустили в описании своих действий. Чтобы зайти под правами вновь созданного юзера Вам надо переключиться в режим Login/Passord Ведь, как Вы пишите, Вы создали пользователя с локальным логином. Под Виндовс авторизацией Вы бы просто не смогли бы войти таким пользователем.
29 дек 18, 15:43    [21776492]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Вот, подправил изменение пароля. Определение пользователя по его коду, а не по логину.

К сообщению приложен файл (Authorization_0.7.21.rar - 129Kb) cкачать
29 дек 18, 16:09    [21776511]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 88
Последняя версия (0.7.21) позволяет вводить логины с пробелом вначале. Но при входе с таким логином, пишет, что такого юзера нет.
1 янв 19, 17:01    [21777367]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Добавил обрезание незначащих пробелов при задании логинов.

К сообщению приложен файл (Authorization_0.7.22.rar - 128Kb) cкачать
2 янв 19, 09:13    [21777505]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 88
С версией 0.7.22 вроде всё ок.
3 янв 19, 20:22    [21777992]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Спасибо за тестирование. Буду надеяться, что это окончательный варант.

Теперь, наверное на основе этого модуля можно попробовать набросать систему разграничения. Или доступа по привилегиям.
4 янв 19, 15:01    [21778399]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Animatrin
Member

Откуда:
Сообщений: 4
Здравствуйте!
Мн модуль очень понравился, удобный, да и собственно есть все примочки.
Но есть ли возможность при входе обычного юзера (на администратора) скрыть нижние баттоны (btnManger, btnServis)?
22 мар 19, 06:23    [21840287]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Та кто ж тебе мешает? Это вообще-то стартовая форма и сделана только для этой программы. Делай для себя как тебе удобно.
25 мар 19, 09:46    [21842441]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Animatrin
Member

Откуда:
Сообщений: 4
Joss, не подскажешь как сделать?
я в VBA слабоват :(
25 мар 19, 10:02    [21842459]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Режим конструктора. Вызываете для элемента окно "Свойства" через контекстное меню. Первая вкладка "Макет". Параметр "Вывод на экран" (обычно третий сверху) Измените значение с "Да" на "Нет". Сохраните. Всё.
27 мар 19, 16:41    [21845254]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Animatrin
Member

Откуда:
Сообщений: 4
Joss, не настолько слабоват :) имел ввиду разграничить видимость для Администраторов и Обычных пользователей
28 мар 19, 07:15    [21845643]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
При загрузки формы в секции Form_Load() вставляешь проверку, на привилегии пользователя. И от результата проверки проверки делаешь
   Me.btnManager.Visible = False
или
   Me.btnManager.Visible = True
Так же и для второй кнопки.

Ну посмотри форму frm_ListUsers и сделай по аналогии
28 мар 19, 09:19    [21845716]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Animatrin
Member

Откуда:
Сообщений: 4
Joss, Сделано получилось!
Спасибо огромнейшее!
28 мар 19, 09:54    [21845758]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
vitbv
Member

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

А теперь уважаемые знатоки!
Внимание Вопрос:
Как прикрутить модуль к действующей разделенной базе данных?
9 июл 19, 09:00    [21923200]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
А по конкретнее? Что не получается?
10 июл 19, 23:09    [21924454]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
vitbv
Member

Откуда: Ростов на Дону
Сообщений: 3
Так я и не пробовал. Мое понимание: объединить этот модуль со своим модулем через экспорт импорт и назначить запуск моей кнопочной формы при положительном входе.
Но лучше прошу проинструктировать.
11 июл 19, 09:00    [21924520]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Тяжелый случай. (шутка)
Надо импортировать модули, таблицы, формы.
Мой модуль подключается в макросе autoexec
Если у Вас есть свои таблицы для пользователей, то надо совместить их с таблицами модуля.
Что ещё надо сделать? Это надо смотреть уже вашу программу.
15 июл 19, 08:53    [21926553]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
vmag
Member

Откуда: MP
Сообщений: 3235
vitbv
Так я и не пробовал. Мое понимание: объединить этот модуль со своим модулем через экспорт импорт и назначить запуск моей кнопочной формы при положительном входе.


Ну, если б все так было просто... Сделал "Привет Мир!", скрестил с виндой 10 и получил свою винду 11...Картинка с другого сайта.
15 июл 19, 11:37    [21926639]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
vitbv
Member

Откуда: Ростов на Дону
Сообщений: 3
Joss
Тяжелый случай. (шутка)
Надо импортировать модули, таблицы, формы.
Мой модуль подключается в макросе autoexec
Если у Вас есть свои таблицы для пользователей, то надо совместить их с таблицами модуля.
Что ещё надо сделать? Это надо смотреть уже вашу программу.


Спасибо!
15 июл 19, 15:52    [21926906]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 88
vitbv,

Нужно просто разделить на админов и пользователей или что-то сложнее?
15 июл 19, 16:52    [21926952]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Сергей Лалов
Member

Откуда: localhost SPB
Сообщений: 1410
Joss,

А может ну её, эту авторизацию на MS Accees....?
C вашим то уровнем VBA и понимания работы СУБД можете мгновенно перестроиться, и пересадить в пару кликов ваш проект на MySQL. C нормальной авторизацией и аутентификацией на сервере. Там по сути всё то же самое , только дополнительные бонусы в виде триггеров нормальных, сохраненных процедур,функций, и транзакции уже подвезли. И можно писать параллельно веб интерфейс с народным пэхапэ, js и пр.

К сообщению приложен файл. Размер - 83Kb
16 июл 19, 02:30    [21927177]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Joss
Member

Откуда: г. Минск
Сообщений: 4891
Сергей Лалов
Joss,

А может ну её, эту авторизацию на MS Accees....?
C вашим то уровнем VBA и понимания работы СУБД можете мгновенно перестроиться, и пересадить в пару кликов ваш проект на MySQL. C нормальной авторизацией и аутентификацией на сервере. Там по сути всё то же самое , только дополнительные бонусы в виде триггеров нормальных, сохраненных процедур,функций, и транзакции уже подвезли. И можно писать параллельно веб интерфейс с народным пэхапэ, js и пр.

А почему не на MS SQL Server? Или это сейчас не актуально?
16 июл 19, 10:38    [21927307]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Сергей Лалов
Member

Откуда: localhost SPB
Сообщений: 1410
[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 июл 19, 16:39    [21927757]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 1785
Сергей Лалов
И можно писать параллельно веб интерфейс с народным пэхапэ, js и пр.

Вы сами то пробывали писать нормальный интерфейс на этом народном добре?
Как успехи?
Только не надо про сайты.
Конкретно писали клиента к базе данных?
16 июл 19, 17:17    [21927809]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Сергей Лалов
Member

Откуда: localhost SPB
Сообщений: 1410
ROI,

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

А на ms access + mysql уже давно пишу, и для себя и на заказ) под логистику,закупки, транспорт,таможню. Недавно для РАМН запилил поделку, полезную.
16 июл 19, 17:48    [21927839]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 1785
Сергей Лалов
без фреймворков давно не пишут.

Это где вы их применяете.
Почитал я ваши топики там вы себя позиционируете как "начинающий"
Где жы вы успели пописать на фреймвёрках?
16 июл 19, 17:57    [21927857]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Сергей Лалов
Member

Откуда: localhost SPB
Сообщений: 1410
ROI
Сергей Лалов
без фреймворков давно не пишут.

Это где вы их применяете.
Почитал я ваши топики там вы себя позиционируете как "начинающий"
Где жы вы успели пописать на фреймвёрках?


В компании ЦентрОбувь , 6 лет назад, когда работал там логистом. Сделал простенький веб интерфейс на три таблицы, используя Jquery + php + mysql.
16 июл 19, 18:23    [21927894]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Сергей Лалов
Member

Откуда: localhost SPB
Сообщений: 1410
[quot ROI]
Сергей Лалов
Почитал я ваши топики там вы себя позиционируете как "начинающий"


Да, в web начинающий по сути то. Я же в соседних ветках и не скрываю этого.
16 июл 19, 18:31    [21927900]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
DarkMan
Member

Откуда:
Сообщений: 543
ROI
Только не надо про сайты.

А почему именно не надо про сайты ?
ROI
Конкретно писали клиента к базе данных?

А в чем проблема , то ? Нужно только захотеть.
16 июл 19, 19:19    [21927929]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
DarkMan
Member

Откуда:
Сообщений: 543
Сергей Лалов
Сделал простенький веб интерфейс на три таблицы, используя Jquery + php + mysql.

Ну ваще то основой веб интерфейса является HTML , его еще никто не отменял, а jQurery это всего лишь библиотека, а php так вообще серверный язык программирования . :))
16 июл 19, 19:23    [21927932]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Сергей Лалов
Member

Откуда: localhost SPB
Сообщений: 1410
DarkMan
Сергей Лалов
Сделал простенький веб интерфейс на три таблицы, используя Jquery + php + mysql.

Ну ваще то основой веб интерфейса является HTML , его еще никто не отменял, а jQurery это всего лишь библиотека, а php так вообще серверный язык программирования . :))


Спасибо, открыл глаза))) вселенная перевернулась от твоих слов. ))) Ваще это и так ясно))
16 июл 19, 20:40    [21927998]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Сергей Лалов
Member

Откуда: localhost SPB
Сообщений: 1410
В этой теме топика обсуждается авторизация на ms access. Пока не потерялась нить обсуждения, ещё раз хочу предложить связку ms access + mysql. Связь через mysql odbc, таблицы переносятся на сервер минуты за три (через этот же самый драйвер,которы потом служит формой авторизации пользователя).
Тестировал эксперементировал , просто ради интереса, 1млн строк в таблице/табличной форме ,примерно с 30 полями разного типа обрабатывает довольно шустро. В настройках драйвера желательно установить big int , и реконнект.
Во время первого захода чуть подтупливает при таком количестве,но потом кэшируется и не замечаешь.

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

Также на стороне сервера работает интерфейс оптимизации запросов. При накоплении статистики запросов он позволяет также оптимизировать скорость работы базки.
16 июл 19, 21:27    [21928042]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
vmag
Member

Откуда: MP
Сообщений: 3235
Сергей Лалов
Также лучше создавать базу myIsam , а не innodb,


Придется ковырять закрома... посмотрел своих провайдеров - по мускулю поддержка только именно innodb 5.0, 5.5 и 5.7... получается только для своего огорода...
17 июл 19, 00:34    [21928140]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Сергей Лалов
Member

Откуда: localhost SPB
Сообщений: 1410
vmag
Сергей Лалов
Также лучше создавать базу myIsam , а не innodb,


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


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

Есть небольшая таблица сравнений:
таблица сравнений
17 июл 19, 02:19    [21928179]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Сергей Лалов
Member

Откуда: localhost SPB
Сообщений: 1410
Кстати еще один позитивный и очень важный момент работы с MySQL, забыл сказать. (Это в принципе относиться ко всем связкам MS Access, MySQL,MS SQL, Postgress e.t.c..)
База не распухает во время использования. Не надо использовать сжать и восстановить. От слова совсем.
19 июл 19, 00:20    [21929827]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 1785
Сергей Лалов
Кстати еще один позитивный и очень важный момент работы с MySQL, забыл сказать. (Это в принципе относиться ко всем связкам MS Access, MySQL,MS SQL, Postgress e.t.c..)
База не распухает во время использования. Не надо использовать сжать и восстановить. От слова совсем.

Движок InnoDB не поддерживает уменьшение размеров файлов БД — это принципиальное ограничение. Единственный способ уменьшить размер БД — сделать дамп, переинициализировать хранилище, восстановить из дампа. Увы, это действительно так.
База распухает(чудес не бывает)
А вот похудеть не так просто.
Не морочте людям голову.
19 июл 19, 05:38    [21929862]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 88
Сергей Лалов,

К любому "что-то там SQL" прилагается админ, которому нужны денежки. Файл с БД от Access может положить в любое место любой секретарь или любой другой юзер и это не будет стоить дополнительных затрат.
19 июл 19, 10:42    [21930024]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Сергей Лалов
Member

Откуда: localhost SPB
Сообщений: 1410
ROI
Сергей Лалов
Кстати еще один позитивный и очень важный момент работы с MySQL, забыл сказать. (Это в принципе относиться ко всем связкам MS Access, MySQL,MS SQL, Postgress e.t.c..)
База не распухает во время использования. Не надо использовать сжать и восстановить. От слова совсем.

Движок InnoDB не поддерживает уменьшение размеров файлов БД — это принципиальное ограничение. Единственный способ уменьшить размер БД — сделать дамп, переинициализировать хранилище, восстановить из дампа. Увы, это действительно так.
База распухает(чудес не бывает)
А вот похудеть не так просто.
Не морочте людям голову.


Вы не поняли, о чем я пишу. Разберитесь сначала. При использовании файла аксесс с родными таблицами и jetSql ,при регулярном использовании ,клиентская часть приложения несоразмерно увеличивается. При активном использовании аксесса, к примеру с утра вес базы 3,5 мб, а к окончанию рабочего дня в районе 20мб. Это не связано с увеличением данных в таблицах ,либо загрузкой картинок в БД к примеру. Это связано с особенностями самого аксесса, с его неоптимальным способом кэшировать информацию.
Чтобы решить проблему на стороне аксесса приходится сжимать и восстанавливать БД. (аксесовскую БД) чтобы уменьшить размер файла.
При переходе на ms access + mysql этой проблемы нет. Читай хоть о чем я пишу.
19 июл 19, 14:29    [21930273]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Сергей Лалов
Member

Откуда: localhost SPB
Сообщений: 1410
Stanislav P
Сергей Лалов,

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


У вас наверное тяжело пошло программирование. С обслуживанием mysql (один сервер, одна база) разберется один сознательный семиклассник.
19 июл 19, 14:33    [21930275]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Сергей Лалов
Member

Откуда: localhost SPB
Сообщений: 1410
Кстати по поводу увеличения размеров бд , на этот раз на mysql- еще один плюс в сторону MyIsam.
19 июл 19, 14:47    [21930292]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Nebo
Member

Откуда:
Сообщений: 2760
Сергей Лалов,

https://stackoverflow.com/questions/5842/issues-using-ms-access-as-a-front-end-to-a-mysql-database-back-end#9200
7 сен 19, 03:12    [21965826]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Сергей Лалов
Member

Откуда: localhost SPB
Сообщений: 1410
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. Как говорится все Ок)
7 сен 19, 17:12    [21965996]     Ответить | Цитировать Сообщить модератору
 Re: Модуль авторизации. Тестирование и обсуждение  [new]
Stanislav P
Member

Откуда: Сочи
Сообщений: 88
Сергей Лалов
С обслуживанием mysql (один сервер, одна база) разберется один сознательный семиклассник.

Которому нужно платить денежку.
11 сен 19, 14:43    [21968580]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3 4 5 6 7      [все]
Все форумы / Microsoft Access Ответить