Показать сообщение отдельно
Старый 22.07.2008, 23:40   #4  
artkashin is offline
artkashin
Участник
MCBMSS
 
519 / 18 (2) ++
Регистрация: 06.12.2006
Да, проблема знакома.
Начиная с 4-й версии добавился новая модель безопасности - Enchanced. Старая модель основывалась на безопасности роли приложения $ndo$shadow с которой Навижн подключался к базе данных. При такой системе нет необходимости синхронизировать безопасность на уровне пользователей, но и не-dbo пользователи к базе данных напрямую подключиться не могут, например, для выполнения SQL-запроса. Также, подобная система немного не секьюрная, так как существуют взломанные клиенты Nav, игнорирующие встроенную ситему безопасности Nav, а проверки доступа на уровне SQL не производится.
Новая же система предполагает настройки прав доступа к каждой таблице каждой фирмы, для каждого пользователя. Естественно, если у вас в базе 5 фирм (800 * 5 =4000 таблиц), да 100 пользователей, то процесс синхронизации безопасности Нав с SQL может происходить достаточно долго. Но при таком способе повышается уровень безопасности (независимость от клиента) и появляется возможность у пользователей напрямую обращаться к таблицам SQL, например посредством Excel.
Я считаю, что Enchanced модель безопасности лучше старой, а проблему необходимости постоянной синхронизации необходимо и нужно сводить к минимуму. А именно: вводить регламенты программирования и обновлений, когда нельзя на реальную базу поставить какие-либо объекты или исправления, только посредством кумулятивного выпуска некоего Service Pack компании и т.д.
Но, давать всем пользователям права dbo - это смерти подобно. Лучше вернуться к старой системе безопасности. Для этого необходимо Файл - База Данных - Изменить (File -Database - Alter). Установить базу в Однопользовательский режим (Single User) на закладке Опции(Options). После этого снова её изменить и на закладке Дополнительно (Advanced) изменить свойство Security Model в Standard.