Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Разграничение полномочий в приложении, работающем с БД [D7, MSSQL]


Страницы:   1 2 3 4

BlackCat ©   (2007-10-05 16:27:00) 

Доброго времени суток всем!
Пише приложение, работающее с БД на MS SQL.
Работать с ним будут несоклько человек, у которых разные права должны быть. При разработки структуры БД пришел к выводу, что буду использовать логины SQL-сервера.
Можно конечно оставить свойство Login Prompt включеным, чтобы запрашивался имя и пароль, но это как-то некрасиво будет. Хочу свое окно, чтобы там вводить имя и пароль, а вот как их проверить и пускать или не пускать пользователя, что-то дойти не могу. Может кто уже делал чего подобного, помогите, или просто поделитесь мыслями, потому что просто не представляю, как это всё сделать...


Anatoly Podgoretsky   (2007-11-02 13:14:00) [1]

Права можно назначить любому ОБЪЕКТУ
Это кстати даже dBase IV поддерживал.


Anatoly Podgoretsky   (2007-11-02 13:13:00) [2]


> Он не позволяет разделить доступ до строки, колонки(если
> эти термины удобнее)

А что по твоему делают Column Permition?

GRANT SELECT ON [Table] ([Column]) TO [User])


Павел Калугин   (2007-11-02 12:26:00) [3]

> [59] Reindeer Moss Eater ©   (02.11.07 12:19)

Я не о том...
Сервер (напоминаю МSSQL сервер, впррочем Sybase тоже ) позволяетнастроить допуск до вьюхи, таблицы и так далее.
Он не позволяетразделить доступ до строки, колонки (если эти термины удобнее)
Следовательно возникает необходимость дополнять сушествующий механизмсвоими дописками, то есть или комплекты вьюх под каждую роль клепатьили еще как изголятся.


Reindeer Moss Eater   (2007-11-02 12:19:00) [4]

А вообще как вы представляете себе такое.

Якобы есть сервер и в нем есть объекты.
И этот сервер не в состояни контролировать доступ к ним.

Хорошенький сервер надо сказать.


Reindeer Moss Eater   (2007-11-02 12:17:00) [5]

если что-то имеет именованные атрибуты, но само не имеет имени, то это не объект БД.

Тем более, что это имена колонок, а не полей записи.
Запись это не объект БД.
:)


Павел Калугин   (2007-11-02 12:11:00) [6]

> [56] Reindeer Moss Eater ©   (01.11.07 16:33)

У аттрибутов есть имя.
И что?


Reindeer Moss Eater   (2007-11-01 16:33:00) [7]

Кортеж (запись) в таблице это не объект?

Если это объект, то тогда у него имя должно быть.


Павел Калугин   (2007-11-01 15:15:00) [8]


> Reindeer Moss Eater ©  

Да есть. Но они не носято гордое имя MSSQL :)


> Средствами сервера можно разграничить права на любой его
> обект


Кортеж (запись) в таблице это не объект?

В общем мречь тоя веду о чем. Далеко не все модно разрулить раздачей прав. Думать тщательно надо заранее и проектировать.
И предусмотреть те самые вьюхи. Только тогда - сколько ролей столько и вьюх. (точнее сколько возможных комбинаций ролей)

Или как-то по другому разруливать. Обязательно учтя это разруливание при проектировании структуры базы

Одними грантами тут не обойдешся. Вот о чем речь.


Reindeer Moss Eater   (2007-11-01 14:38:00) [9]

тем более, что есть сервера на которых можно разграничить доступ к строкам вообще без вьюх


Reindeer Moss Eater   (2007-11-01 14:29:00) [10]

Логично? или я опять не прав?

Я просто не смешиваю собственно разграничение прав на объекты бд средствами сервера и заморочки с построением пользовательского интерфейса.

Средствами сервера можно разграничить права на любой его обект


Reindeer Moss Eater   (2007-11-01 14:27:00) [11]

И чего?
сам объект, права но который надо разграничить тоже надо создавать.


Павел Калугин   (2007-11-01 13:29:00) [12]


> Reindeer Moss Eater ©   (31.10.07 16:56) [44]

именно. Вьюха - объект БД
ее предварительно создать надо.
А  я речь веду о разграничении прав доступа к объектам БД.
То есть, грантами только не обойдешся. придется код писать.
на стороне клиента на сторое сервера это второй вопрос (естественно лучше на стороне сервера)
Но только раздачей правна объекты описанную мною выше ситуацию не разрулишь. Логично? или я опять не прав?


stud   (2007-11-01 13:24:00) [13]

Reindeer Moss Eater ©   (01.11.07 9:49) [48]
Видимость контрлов никак с разграничением прав доступа к объектам БД не связана


если контрол "не рабочий" какая разница видим он или нет?
обработать исключение и выдать юзеру сообщение - "мало прав..." труда наверное не составит?
да и если уж так хочется почему состояние контролов не впихнуть в бд и потом на клиенет енеблить/неенеблить их? (хотя имхо это извращение)


Anatoly Podgoretsky   (2007-11-01 12:52:00) [14]

И не только видимость.


Reindeer Moss Eater   (2007-11-01 09:49:00) [15]

Видимость контрлов никак с разграничением прав доступа к объектам БД не связана.


Jeer   (2007-11-01 09:41:00) [16]


> stud ©   (31.10.07 18:38) [46]


Опять Вы не в теме:))

Пользовательский интерфейс очень даже при чем.
Предположим условно, нам надо реализовать несколько ролей пользователя, например:
- гость
- смотрелка
- оператор
- импортер
- аналитик

Для каждого из них необходимы свои права по доступу к объектам DB, а также настройка пользовательского интерфейса (активны-неактивны, видимы - не видимы те или иные контролы).
Если с первым сервер справится, то со вторым ну ни как:))


stud   (2007-10-31 18:38:00) [17]

Jeer ©   (31.10.07 14:21) [42]
Но вот как средствами сервера модифицировать пользовательский интерфейс:))

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


Reindeer Moss Eater   (2007-10-31 16:58:00) [18]

Задействованы средства сервера. Права разграничены.
А то, что какой-то пользовательский интефейс там еще где-то есть, так сервер про это ничего не знает.
:)


Reindeer Moss Eater   (2007-10-31 16:56:00) [19]

Чем же это не механизм?
Вьюха - объект БД.
Одному даем права, другом не даем, третьему даем не такие права как первому.


Павел Калугин   (2007-10-31 16:42:00) [20]

> [41] Reindeer Moss Eater ©   (31.10.07 14:14)

как? штаатными средствами предоставляемыми сервером?
то есть при помощи предоставления права читать - изменнять - исполнять...
не рисуя дополнительных вьюх :) Ибо это уже не механизм раздачи прав доступа


Страницы:   1 2 3 4

Наверх

Титульная страница Поиск, карта сайта Написать письмо