Надо как то "скрыть" БД, посоветуйте

  • Автор темы Sandro
  • Дата начала
S

Sandro

#1
Ситуация следующая:
Начал разрабатывать БД, опыта 0, создал роли, ограничил права пользователям на формы , представления, пункты меню, тут возникла необходимость разместить базу на нескольких серверах (филиалах). Всё реплицируется, всё хорошо, но вот при желании , любой пользователь может базу скопировать локально и посмотреть всю информацию, как вариант убрать дизайн из базы, но тогда , на сколько я понимаю код уже не исправить, как поступают в таких случаях, можно ли как нить настроить , что б структура сохранялась на моём сервере и реплицировалась на другие сервера , на которых структура скрыта. Как это по науке делается, подскажите в каком направлении копать ?
 

nvyush

Lotus team
22.04.2009
2 317
0
#2
Sandro
Создаёте шаблон БД, доступный только Вам. Создаёте рабочую базу, доступную пользователям, на которую накатываете дизайн из шаблона с включенной галкой сокрытия дизайна.

Все изменения в дизайн вносите в шаблон, после отладки изменений перенакатываете дизайн на рабочую базу, не забыв взвести вышеупомянутую галку.
 

lmike

нет, пердело совершенство
Премиум
27.08.2008
6 567
263
#3
и ещё код LS вынести в библиотеки (внешние)
 
S

Sandro

#4
Спасиб, общее направление понятно, буду думать.
 

Kizarek86

Lotus team
20.07.2007
864
4
#5
По Вашему описанию пользователи локально себе базы для работы не копируют?
Так и запретите им копирование сняв соответствующую галку в доступе "Репликация или копирование документов"
 
S

Sandro

#6
Ну с пользователями то понятно, но есть ещё администраторы на "местах", которые базу реплицируют, но при этом им совсем не обязательно видеть информацию из других филиалов. Вот такая вот политика партии.
 

nvyush

Lotus team
22.04.2009
2 317
0
#7
Ну с пользователями то понятно, но есть ещё администраторы на "местах", которые базу реплицируют, но при этом им совсем не обязательно видеть информацию из других филиалов. Вот такая вот политика партии.
Так нужно скрыть дизайн или данные? Если данные, то для этого есть readers-поля. Прописываете туда помимо пользователей центральный сервер и сервер филиала — документы на другой филиальный сервер не попадут. Или мудрить с формулами репликации.
Что касается ACL, то не имея медеджерских прав на базу её можно править только серверным агентом, имеющим соответствующие права. Т.о. создаёте документ-запрос с информацией, кому какие права дать, вызываете серверный агент с NoteID этого документа, агент вносит соответствующие изменения в ACL. Список ролей вывести можно, но, кмк, не нужно, лучше вывести список "человеческих" ролей, а кодом уже преобразовывать в роли и полномочия ACL.

Добавлено:
Так и запретите им копирование сняв соответствующую галку в доступе "Репликация или копирование документов"
Это запретит также и печать документов, а также копирование информации из документов в буфер обмена. Причём документы, созданные/редактированные "ущербными" пользователями получают служебное поле $KeepPrivate, запрещающее копирование документа всем, включая менеджера с полными правами.
 

morpheus

скриптописец
07.08.2006
3 915
1
#8
Добавлю к ACL в последней закладки поставить галочку напротив
Enforce a consistent Access Controll List across all replicas

ну и плюс ридерс поля - что вижу то и реплицирую.
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 231
17
#9
Начал разрабатывать БД, опыта 0
смысл дизайн прятать, боишься засмеют?
с хайдинговым дизайном часто траблы на личных папках происходят, а новички как раз любят папки создавать и на них подвязыватсья
 
S

Sandro

#10
Добавлено:
Это запретит также и печать документов, а также копирование информации из документов в буфер обмена. Причём документы, созданные/редактированные "ущербными" пользователями получают служебное поле $KeepPrivate, запрещающее копирование документа всем, включая менеджера с полными правами.
[/quote]

То есть $KeepPrivate документ не будет реплицироваться ??? И будет только доступен в БД к которой подключен пользователь ?
 

morpheus

скриптописец
07.08.2006
3 915
1
#12
так-с сообщения потёр

ещё чучуть флуда не по теме - и топик будет закрыт, нарушителям - по гарчишнику
 
S

Sandro

#14
Так нужно скрыть дизайн или данные? Если данные, то для этого есть readers-поля. Прописываете туда помимо пользователей центральный сервер и сервер филиала — документы на другой филиальный сервер не попадут. Или мудрить с формулами репликации.
Что касается ACL, то не имея медеджерских прав на базу её можно править только серверным агентом, имеющим соответствующие права. Т.о. создаёте документ-запрос с информацией, кому какие права дать, вызываете серверный агент с NoteID этого документа, агент вносит соответствующие изменения в ACL. Список ролей вывести можно, но, кмк, не нужно, лучше вывести список "человеческих" ролей, а кодом уже преобразовывать в роли и полномочия ACL.

Добавлено:
Это запретит также и печать документов, а также копирование информации из документов в буфер обмена. Причём документы, созданные/редактированные "ущербными" пользователями получают служебное поле $KeepPrivate, запрещающее копирование документа всем, включая менеджера с полными правами.

То есть $KeepPrivate документ не будет реплицироваться ??? И будет только доступен в БД к которой подключен пользователь ?
 

nvyush

Lotus team
22.04.2009
2 317
0
#15
То есть $KeepPrivate документ не будет реплицироваться ??? И будет только доступен в БД к которой подключен пользователь ?
Если мне не изменяет склероз, реплицироваться такой документ будет (разумеется, сервером или пользователем, имеющим право на репликацию), а вот вытянуть из него информацию через уи, кроме как принтскрином не получится, пока поле $KeepPrivate не будет удалено.
 

phantom76

Lotus team
25.02.2005
360
4
#16
То есть $KeepPrivate документ не будет реплицироваться ??? И будет только доступен в БД к которой подключен пользователь ?
репликация и копирование документа - это разные вещи. $KeepPrivate - отвечает за копирование документа любым способом, изменение его или печать или пересылку через интерфейс пользователя. На репликацию это не влияет.
 

alik86

Lotus team
20.11.2008
465
1
#17
репликация и копирование документа - это разные вещи
...но всё-таки они вместе ;)
Когда-то колупал $KeepPrivate (что-то тут можете глянуть), но поитогу сломался и спустил это на тормозах (или не спустил - я уже не помню... :) )
 
S

Sandro

#18
:) Ладно , будем тренироваться на кошках))) Я так понимаю, значение поля агентиком поменять то можно будет мне ?
 
S

Sandro

#20
;) Ладно , будем тренироваться на кошках))) Я так понимаю, значение поля агентиком поменять то можно будет мне ?
Кошки сказали, фиг вам , а не репликация, пользователь создающий документ без прав к репликации и копирования, метит поле $KeepPrivate=1 и он не реплицируется.