|
Access-ODBC-MSSQL и разграничение доступа к данным
|
|||
---|---|---|---|
#18+
Собственно возникла разовая задача классической лоскутной автоматизации "вдолби структурированные данные на филиалах, собери в центре в сводную шахматку". Раньше, когда в ацессе был ADP, подобные задачи легко решались конструированием БД и конверсией её в клиент-серверное приложение MSSQL с ADP/ADE-клиентом. Сейчас проблема - нужно жёстко разграничить вводимые данные данные, чтобы филиал А, долбя данные в форму/таблицу никакими действиями (в т.ч. опытный пользователь ацесс, умеющий пользоваться кнопкой "Связи с таблицами") не мог подлезть к записям таблиц, которые вводит филиал Б. Возникла мысль сделать структуру БД по такой вот схеме: 1) конструируем структуру таблиц хранения данных на MSSQLе, 2) каждую (либо JOIN между ними) обвязываем View, который условие WHERE вьюхи строит от CURRENT_USER - т.е. каждый пользователь видит во вьюхе только свои данные. 3) таблицы (п.1) делаем настройками MSSQLя недоступными для конечных пользователей - чтобы через odbc к ним подлезть не могли. 4) вьюхи (п.2) авторизация по доменной учётке/группе конечных пользователей, и на них строим формы ввода. В итоге, по идее должно получиться, что каждый пользователь долбит и видит только свои записи. А визард построения формы ввода работает с одинаковой "статичной" вьюхой (никаких динамических WHERE в коде на клиенте - т.е. vba-макросы форм можно даже не закрывать паролем). 5) для построения сводных шахматок "в центре" придётся построить ещё дополнительные вьюхи, и раграничить доступ другой доменной группой. Покритикуйте идею плиз, может ктото уже изобретал подобный "велосипед". Собственно конечная цель - не спрыгивать со старого-доброго ацесса на всякое новомодное "web-чтонибудь". Потому как хотелосьы бы сохранить удобство проектирования на коленке всяких "лоскутков" по нечётким ТЗ (и перепроектирования по 10 раз "ой мы забыли вам сообщить, нам вот тут ещё и это приплюсовать надо"). ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2018, 09:19 |
|
Access-ODBC-MSSQL и разграничение доступа к данным
|
|||
---|---|---|---|
#18+
ldfanateможет ктото уже изобретал подобный "велосипед". иметь current_user в качестве дефолтного значения для поля "user" в наполняемой таблице, с последующим отбором по нему для раздачи записей, вполне нормальный велосипед. В чем сомнения? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2018, 15:34 |
|
|
start [/forum/topic.php?fid=45&msg=39691154&tid=1611228]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
172ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
others: | 300ms |
total: | 548ms |
0 / 0 |