|
Коллизия с доступом к базе по сети
|
|||
---|---|---|---|
#18+
MS ACCESS Коллизия с доступом к базе по сети На ресурсе локальной сети, на компе сервере, есть диретория BASEBOR и там база допустим ITEMS.mdb. В сети есть пользователи с доступом на запись и пользователи с доступом на чтение (для BASEBOR). Если пользователь на чтение открывает базу, то пользователь с правами на редактирование не может её редактировать. И наоборот если пользователь с правами на запись открывает базу, то её не могут открыть пользователи с правами на чтение. Я пока решил проблему так - те кто ведут базу периодически делаут копию базы c именем ITEMS_read.mdb и все пользователи на чтение запускают только её. Тоже самое если я разделяю базу на два файла форм и таблиц. Если кто открыл только на чтение, то редактировать уже не получится. Существует ли какое-то более приличное решение проблемы? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2019, 15:05 |
|
Коллизия с доступом к базе по сети
|
|||
---|---|---|---|
#18+
Надо так понимать, что перенос данных в какую-то вменяемую СУБД - не предлагать? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2019, 15:09 |
|
Коллизия с доступом к базе по сети
|
|||
---|---|---|---|
#18+
alexko, попробуйте такой способ. Сделайте на рабочий стол ярлык запуска вашей программы. В свойствах ярлыка в поле "Объект" пропишите в кавычках полный путь к Access и вашему файлу mdb. Например, для акса 2007 это будет "C:\Program Files (x86)\Microsoft Office\Office12\MSACCESS.EXE" "C:\Items.mdb" Это - для запуска проги на компе, на котором непосредственно стоит программа. Для остальных компов строка подключения будет включать сетевое имя вашего "сервера", например: "C:\Program Files (x86)\Microsoft Office\Office12\MSACCESS.EXE" "\\Server\Items.mdb" И сделайте так на каждом компе в локальной сети. Тогда всё нормально будет запускаться. Как вариант - вместо ярлыков можно сделать батнички, с аналогичным содержимым ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2019, 15:13 |
|
Коллизия с доступом к базе по сети
|
|||
---|---|---|---|
#18+
Вряд ли предложение Tarasios поможет. Но пробуйте. Вы же ограничили доступ к базе системными средствами? Так? Лично я стараюсь не впутывать в свои программы средства Windows а всё делать в Access. Есть таблица пользователей с их привилегиями. Есть таблица форм с описанием режимов доступа. При загрузке формы, проверяется пользователь, а затем его привилегии для данной формы, и в зависимости от них включаются или не включаются возможности редактирования. Поначалу это кажется сложно, но потом быстро привыкаешь и приспосабливаешься. Особенно это полезно для программ, где пользователи разбиты на группы. И каждая группа может изменять только свою часть информации, а смотреть несколько частей. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2019, 09:54 |
|
Коллизия с доступом к базе по сети
|
|||
---|---|---|---|
#18+
Joss Лично я стараюсь не впутывать в свои программы средства Windows а всё делать в Access. Есть таблица пользователей с их привилегиями. Есть таблица форм с описанием режимов доступа. Таблица пользователей с их привилегиями (для администратора) имхо не панацея, открыл таблицу и вау - через минуту все с привилегиями администратор... лучше чтоб Админ был виртуальным, а пароль его хранить в зашифрованном виде, ну например, вместе с параметрами организации... Тогда при идентификации админа - один алгоритм, а при идентификации всех остальных - таблица с привилегиями, в которой нет администратора... Лучшая защита на уровне Админа - это когда реанимировать админа может только разработчик... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2019, 13:52 |
|
Коллизия с доступом к базе по сети
|
|||
---|---|---|---|
#18+
alexko, не включил в пример пути вашу директорию. Должно быть так для локального компа "C:\Program Files (x86)\Microsoft Office\Office12\MSACCESS.EXE" "C:\BASEBOR\Items.mdb" для сетевого компа "C:\Program Files (x86)\Microsoft Office\Office12\MSACCESS.EXE" "\\Server\BASEBOR\Items.mdb" Joss : хотелось бы услышать ТС с заключением сработало - да/нет ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2019, 14:06 |
|
Коллизия с доступом к базе по сети
|
|||
---|---|---|---|
#18+
vmag Joss Лично я стараюсь не впутывать в свои программы средства Windows а всё делать в Access. Есть таблица пользователей с их привилегиями. Есть таблица форм с описанием режимов доступа. Таблица пользователей с их привилегиями (для администратора) имхо не панацея, открыл таблицу и вау - через минуту все с привилегиями администратор... лучше чтоб Админ был виртуальным, а пароль его хранить в зашифрованном виде, ну например, вместе с параметрами организации... Тогда при идентификации админа - один алгоритм, а при идентификации всех остальных - таблица с привилегиями, в которой нет администратора... Лучшая защита на уровне Админа - это когда реанимировать админа может только разработчик... vmag, Вы смотрели мою приблуду для авторизации? И вообще, не ожидал от Вас такого... Доступ к таблицам для пользователей должен быть скрыт!!! Есть куча приёмов для этого. Навигационную панель убирают, шифт блокируют, пароли шифруют... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2019, 14:27 |
|
Коллизия с доступом к базе по сети
|
|||
---|---|---|---|
#18+
А почему доступ к таблицам не ограничить при помощи разрешений самого Access? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2019, 14:34 |
|
Коллизия с доступом к базе по сети
|
|||
---|---|---|---|
#18+
Tarasios alexko, не включил в пример пути вашу директорию. Должно быть так для локального компа "C:\Program Files (x86)\Microsoft Office\Office12\MSACCESS.EXE" "C:\BASEBOR\Items.mdb" для сетевого компа "C:\Program Files (x86)\Microsoft Office\Office12\MSACCESS.EXE" "\\Server\BASEBOR\Items.mdb" Joss : хотелось бы услышать ТС с заключением сработало - да/нет У меня все пользователи работают по второму варианту (они запускают своими аксессами базу которая расположена на расшаренной папке компа-сервера. Впрочем я сделал эксперимент и никакой разницы нет - если кто-то с правами на чтение открыл базу на моем компе, то я её не смогу открыть её на запись. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2019, 16:29 |
|
Коллизия с доступом к базе по сети
|
|||
---|---|---|---|
#18+
Joss Вряд ли предложение Tarasios поможет. Но пробуйте. Вы же ограничили доступ к базе системными средствами? Так? Лично я стараюсь не впутывать в свои программы средства Windows а всё делать в Access. Есть таблица пользователей с их привилегиями. Есть таблица форм с описанием режимов доступа. При загрузке формы, проверяется пользователь, а затем его привилегии для данной формы, и в зависимости от них включаются или не включаются возможности редактирования. Поначалу это кажется сложно, но потом быстро привыкаешь и приспосабливаешься. Особенно это полезно для программ, где пользователи разбиты на группы. И каждая группа может изменять только свою часть информации, а смотреть несколько частей. Вы имеете в виду настроить пользователей аксесс через mdw файлы? Но ведь если не делать разного доступа средствами windows, то любой пользователь с ненастроенным mdw может (как админ аксесса) получит полный доступ к базе на открытой серверной папке. На его компе система пользователь просто не работает - он всесильный аксесс-админ ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2019, 16:38 |
|
Коллизия с доступом к базе по сети
|
|||
---|---|---|---|
#18+
4d_monster А почему доступ к таблицам не ограничить при помощи разрешений самого Access? Ведь аксесс по умолчанию настроен для пользователя-администратора с неограниченными правами (mdw файл). Я же не могу настроить аксесс пользователей на всех компах предприятия. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2019, 16:46 |
|
Коллизия с доступом к базе по сети
|
|||
---|---|---|---|
#18+
Akina Надо так понимать, что перенос данных в какую-то вменяемую СУБД - не предлагать? Да, ничего другого в моем распоряжении нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2019, 16:49 |
|
Коллизия с доступом к базе по сети
|
|||
---|---|---|---|
#18+
Tarasios хотелось бы услышать ТС с заключением сработало - да/нет говорит что не сработало, я так думаю проблема в том, что он ограничения делает не в интерфейсе, а поглубже, где-то на уровне таблиц, ну типа кто первый пригласил - тот и танцует... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2019, 05:07 |
|
Коллизия с доступом к базе по сети
|
|||
---|---|---|---|
#18+
Joss И вообще, не ожидал от Вас такого... Знаете какая есть особенность у хакеров ? Они всегда делают то, что от них никто не ожидает... Сейчас украсть всю информацию и потом месяц ковыряться в ней дома как в навозной куче не так актуально... Гораздо актуальнее, имея доступ обычного юзера в крупной компании, сделать себя её администратором хотя бы на 5 минут, за это время можно получить нужные документы, перевести крупную сумму на нужный счет и т.д., а потом опять сделать из себя обычного юзера... Joss Вы смотрели мою приблуду для авторизации? Собственно именно по ней и вес спич... На рисунке ниже Ваша табличка юзеров, допустим я Ефимов и знаю как обойти защиту от Шифта, знаю как прилинковать эту таблицу к своей пустой БД и много ещё чего знаю и работаю в этой организации и у меня куча времени для экспериментов... Ну в общем эта табличка передо мной... Вопрос - Что помешает мне поставить/убрать галочку в графе adm напротив Ефимова? Кстати - это неплохая задачка, решив которую, вы можете выпустить очередной релиз своей Авторизации... ТЗ примерно такое: Я Ефимов, имею доступ к этой таблице, но админом себя сделать не могу... Подсказка - Я даже понятия не имею кто там админы, а кто нет... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2019, 05:32 |
|
Коллизия с доступом к базе по сети
|
|||
---|---|---|---|
#18+
vmag Tarasios хотелось бы услышать ТС с заключением сработало - да/нет говорит что не сработало, я так думаю проблема в том, что он ограничения делает не в интерфейсе, а поглубже, где-то на уровне таблиц, ну типа кто первый пригласил - тот и танцует... Когда я делал доступ к программе (файл mdb, mde) для работы в локальной сети (например - касса 1, касса 2 и т.д.), то в самом начале получил проблему "очерёдности" подключения. То есть - кто первый подключился, тот и работает. Остальные ждут, пока первый выйдет из программы. Порылся в инете - и решил вопрос именно тем способом, что я привёл. Правда, я не усложнял задачу администрированием средствами Виндовс. Пользователи при запуске программы авторизуются (выбор из списка зарегистрированных пользователей и пароль), и далее, в зависимости от определённого уровня доступа, могут выполнять ту или иную задачу. Тут всё "по Joss-у" :) Что по самому принципу разграничения прав и защиты, тут такие мысли. Во первых, надо определиться, какой вообще уровень защиты для каждого конкретного случая достаточен. А то, панимаишь, зачастую (как и в этой ветке, к слову), там где надо просто поставить крючок на дверь в кладовку с швабрами, начинается бесконечное обсуждение абсолютной защиты, с предложениями ставить "дверь" от банковского хранилища - с видеокамерами, таймерами, сигнализациями и прочими "кунштюками". И да, если подойти принципиально к вопросу - абсолютной защиты не бывает в принципе, ломают всё. Считаю, что если пользователь, несмотря на заданные полномочия, регулярно лезет, куда ему не надо лезть - то это проблема уже административная (руководства организации), а не админская. Ибо пользователь явно нарушает свои должностные права, инструкции и т.д. Тут проще организовать достаточную защиту и сотворить логирование действий "нехороших" пользователей, дабы иметь факты, "кто и когда". Ну а если начальник - дерево, и игнорит "мессиджи" админа, то админ в любом случае будет потом крайний, даже если извратится и сотворит нечтно немыслимое. В гнилой конторе работать - себе дороже. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2019, 05:46 |
|
Коллизия с доступом к базе по сети
|
|||
---|---|---|---|
#18+
alexko Ведь аксесс по умолчанию настроен для пользователя-администратора с неограниченными правами (mdw файл). Я же не могу настроить аксесс пользователей на всех компах предприятия. Это и не требуется, добавляете своего собственного админа, даёте ему все права, назначаете владельцемвсех объектов... а стандартному админу запрещаете все действия. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2019, 08:18 |
|
Коллизия с доступом к базе по сети
|
|||
---|---|---|---|
#18+
vmag На рисунке ниже Ваша табличка юзеров, допустим я Ефимов и знаю как обойти защиту от Шифта, знаю как прилинковать эту таблицу к своей пустой БД и много ещё чего знаю и работаю в этой организации и у меня куча времени для экспериментов... А у пользователя под которым вы вошли - просто нет прав на изменение , и чтение этой таблички. И на изменение запроса (с OWNER ACCESS ) который определяет есть ли у вас какое либо право - тоже нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2019, 08:24 |
|
Коллизия с доступом к базе по сети
|
|||
---|---|---|---|
#18+
alexko Joss Лично я стараюсь не впутывать в свои программы средства Windows а всё делать в Access. Есть таблица пользователей с их привилегиями. Есть таблица форм с описанием режимов доступа. При загрузке формы, проверяется пользователь, а затем его привилегии для данной формы, и в зависимости от них включаются или не включаются возможности редактирования. ... Вы имеете в виду настроить пользователей аксесс через mdw файлы? Но ведь если не делать разного доступа средствами windows, то любой пользователь с ненастроенным mdw может (как админ аксесса) получит полный доступ к базе на открытой серверной папке. На его компе система пользователь просто не работает - он всесильный аксесс-админ Нет. я ни слова не сказал про MDW. Защита на MDW ломается на раз. Есть специальные программы. Тот же Elcomsoft. Примеры защиты самописными средствами. Уже приводил много раз. Программа для ведения учета автотранспорта и дорожно-строительных механизмов просто ознакомитесь. Там в комментах есть версия для А2000. Нормально работает. Модуль авторизации Пример авторизации пользователей в программе. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2019, 09:25 |
|
Коллизия с доступом к базе по сети
|
|||
---|---|---|---|
#18+
Ещё предложение для ТС. Как у Вас организовано общение. с Базой? То что она лежит на сервере, это понятно. Теперь вопросы. 1. Она у Вас разделена на клиентскую и табличную часть? 2. У Вас установлен на сервере Сервер терминалов ? Пользователи подключаются через Удалённый рабочий стол? Ответьте пожалуйста. Дальнейшие шаги зависят от ваших ответов. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2019, 09:29 |
|
Коллизия с доступом к базе по сети
|
|||
---|---|---|---|
#18+
vmag Joss Вы смотрели мою приблуду для авторизации? Собственно именно по ней и вес спич... На рисунке ниже Ваша табличка юзеров, допустим я Ефимов и знаю как обойти защиту от Шифта, знаю как прилинковать эту таблицу к своей пустой БД и много ещё чего знаю и работаю в этой организации и у меня куча времени для экспериментов... Ну в общем эта табличка передо мной... Вопрос - Что помешает мне поставить/убрать галочку в графе adm напротив Ефимова? Кстати - это неплохая задачка, решив которую, вы можете выпустить очередной релиз своей Авторизации... ТЗ примерно такое: Я Ефимов, имею доступ к этой таблице, но админом себя сделать не могу... Подсказка - Я даже понятия не имею кто там админы, а кто нет... Я на оборот упростил модуль. Была мысль всунуть сюда шифрование MD5 с использованием "соли", которая зависит от нескольких параметров (номера записи, логина, пароля, признака админа и т.п.) и служебного поля для сравнения. Причём значение в служебном поле рассчитывалось программно в момент сохранения записи с параметрами пользователя.. Простым ручным изменением ничего нельзя было добиться. Даже скопировав служебные данные в свою запись. Зашифрованный пароль просто не восстанавливался. Программа блокировала вход. Я подумал, что если прикручу сюда всё это, то запутаю начинающих ещё больше. Мне и так писали что трудно разобраться в программе. Хотя там куча комментов. Хотя можно покопаться в архиве и найти старые наработки. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2019, 09:52 |
|
Коллизия с доступом к базе по сети
|
|||
---|---|---|---|
#18+
Tarasios vmag пропущено... говорит что не сработало, я так думаю проблема в том, что он ограничения делает не в интерфейсе, а поглубже, где-то на уровне таблиц, ну типа кто первый пригласил - тот и танцует... Когда я делал доступ к программе (файл mdb, mde) для работы в локальной сети (например - касса 1, касса 2 и т.д.), то в самом начале получил проблему "очерёдности" подключения. То есть - кто первый подключился, тот и работает. Остальные ждут, пока первый выйдет из программы. Порылся в инете - и решил вопрос именно тем способом, что я привёл. Правда, я не усложнял задачу администрированием средствами Виндовс. Вообще то IMHO Access это многопользовательская база с возможностью редактирования многими одновременно. Единственная трудность с которой я сталкивался - если кто открыл базу на редактирование она не открывается с другого компа путем кликания на файле (в сетевой директории). Но если на том компе запустить аксес и открыть базу через меню, то всё OK, разве что нельзя редактировать структуру таблицы к примеру. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2019, 13:44 |
|
Коллизия с доступом к базе по сети
|
|||
---|---|---|---|
#18+
4d_monster alexko Ведь аксесс по умолчанию настроен для пользователя-администратора с неограниченными правами (mdw файл). Я же не могу настроить аксесс пользователей на всех компах предприятия. Это и не требуется, добавляете своего собственного админа, даёте ему все права, назначаете владельцемвсех объектов... а стандартному админу запрещаете все действия. Но ведь эти настройки храняться в system.mdw? Сама то база ничего не знает о пользователях аксес? И вот эта база открывается на компе где ненастроенный system.mdw... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2019, 13:48 |
|
Коллизия с доступом к базе по сети
|
|||
---|---|---|---|
#18+
Joss alexko пропущено... Вы имеете в виду настроить пользователей аксесс через mdw файлы? Но ведь если не делать разного доступа средствами windows, то любой пользователь с ненастроенным mdw может (как админ аксесса) получит полный доступ к базе на открытой серверной папке. На его компе система пользователь просто не работает - он всесильный аксесс-админ Нет. я ни слова не сказал про MDW. Защита на MDW ломается на раз. Есть специальные программы. Тот же Elcomsoft. Примеры защиты самописными средствами. Уже приводил много раз. Программа для ведения учета автотранспорта и дорожно-строительных механизмов просто ознакомитесь. Там в комментах есть версия для А2000. Нормально работает. Модуль авторизации Пример авторизации пользователей в программе. Обязательно погляжу. Надеюсь вы порекомендовали бесплатный софт? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2019, 13:51 |
|
Коллизия с доступом к базе по сети
|
|||
---|---|---|---|
#18+
alexko, Она откроется с системным аксесс админом, которому ничего нельзя ( вплоть до запрета на открытие базы) А что бы этого не произошло - пользователям раздать ярлыки запуска в которых команда на запуск базы с использованием вашего правильного mdw. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2019, 13:53 |
|
Коллизия с доступом к базе по сети
|
|||
---|---|---|---|
#18+
Joss Ещё предложение для ТС. Как у Вас организовано общение. с Базой? То что она лежит на сервере, это понятно. Теперь вопросы. 1. Она у Вас разделена на клиентскую и табличную часть? 2. У Вас установлен на сервере Сервер терминалов ? Пользователи подключаются через Удалённый рабочий стол? Ответьте пожалуйста. Дальнейшие шаги зависят от ваших ответов. Никаких удаленных столов и терминалов. У всех пользователй стоит обычная винда и на каждом компе есть свой аксес. На рабочем столе винды у каждого делается ярлык на базу лежащую на на сервере. Режим открытия естественно зависит от индентификации при коннекте к директории базы. Подразумевается, что все шишки предприятия имеют доступ на чтение, а кое-кто из персонала (группа редактирования) ведет базу и имеет полный доступ. Насчет разделения - я пробовал разделять на клиентскую и табличну часть - вроде бы удобно для модификации софта базы. Но тут опять таже проблема - все равно таблицы блокируются на редактирование если кто-то их открыл пользователь с доступом на чтение. Т.е. 1. Я разделяю базу на клиентскую часть и таблицы (таблицы на сервере) 2. делаю копию клиентской части с постфиксом _read.mdb (для тех кто только читает). 3. опять - если, кто читает, начинает работать с базой, то она в режиме чтения для всех. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2019, 14:28 |
|
|
start [/forum/topic.php?fid=45&fpage=24&tid=1610376]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
83ms |
get tp. blocked users: |
2ms |
others: | 348ms |
total: | 513ms |
0 / 0 |