Коннект через ОДБС и видны ВСЕ таблицы для любого юзера! как избавиться от этого?

Alexey8000
Дата: 24.08.2004 16:42:32
Можно даже например в акцессе прилинковать таблицу и структуру посмотреть, и только при открытии таблиц уже начинают работать права на таблицу!
Это как то можно убрать?
assa
Дата: 24.08.2004 17:24:44
В Аксесс ты, на самом деле видишь не "структуру таблиц ПостгреС" ( или другого сервера), а снимок структуры, сохраненный в аксесс.

Исходя из этого решения чисто аксессовские:

- Или убери право (аксессное) на просмотр структуры ("чтение макета"), и выдавай только при работе Аксессовского приложения (иначе не будет и прав на правку данных - можно правда попытаться создавать запросы к ним (не снимая запрет на просмотр структуры) с "WITH OWNERACCESS OPTION", но смысл?).

- Или не держи в приложении линкованных таблиц, а все запросы (источники данных) форм формируй в приложении, или прячь "таблички" (их "снимки").
т.е.:

либо линкуй по входу и затирай по выходу - но тогда при крахе в обход процедуры сноса линков, их "структуры" останутся,

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

на худой конец сделай "таблицы" скрытыми (защита от чайника).
Ну и т.п. (но все это вопросы к аксессу, а не к постгрессу).
Alexey8000
Дата: 24.08.2004 17:46:42
Например в данном случае для MS SQL Server такой ситуации не наблюдается!
и во многих других!
Почему в Постгрессе такое есть?

в принципе тут не важен вообще акцесс а вообще через ОДБС соединение!
оно покзывает эти таблицы!
assa
Дата: 24.08.2004 17:59:08
Девствительно.

нехорошо.
Alexey8000
Дата: 24.08.2004 20:51:54
Не подскажите народ как избавиться от этого???
SSY
Дата: 24.08.2004 22:49:27
Я не очень уловил суть проблемы. Видно структуру БД при подключении через ODBC? Конечно видно, если пользователь авторизован. До установки успешного соединения с сервером структура базы не видна. Да, аксесс запоминает пароль при линковке таблиц. Его можно отучить делать это, записав в таблицу MSysConf строку Config=101 nValue=0. Тогда без пароля можно будет увидеть только список прилинкованных таблиц. Можно отлинковывать таблицы при выходе из приложения, хотя это и не очень надежно. Только к чему все эти "тайны мадридского двора"?

Может быть, проблема в том, что пользователь видит имена и структуру таблиц, на которые у него нет прав даже на чтение? С этим врядли что-то можно сделать, хотя в постгресе начиная с 7.3 можно попробовать использовать префиксы схемы данных (типа dbo.supersecuretable, ordinaryuser.sharedtable и т.п.), но я так не пробовал и не уверен, что получится, и даже не уверен, что это вообще в тему.


С уважением, Сергей Смирнов
Alexey8000
Дата: 25.08.2004 00:13:08
Как раз на счет прав када нет даже на чтение! и все равно видна структура и ВСЕ таблицы!
И Акцесс и "мадридский" двор здесь не к чему.

Так это получается просто проблема Постгреса и нерешенная к тому же?
strizh
Дата: 10.09.2004 20:19:18
Наверное, надо копать в направлении прав чтение записей из системных таблиц, в первую очередь, pg_tables