Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
РЭУБД лекции.doc
Скачиваний:
25
Добавлен:
27.08.2019
Размер:
399.36 Кб
Скачать

Особенности проектирования клиентской части приложения в различных технологиях доступа

Структурная схема терминов

Особенности проектирования клиентской части приложения в различных технологиях доступа

Различные технологии доступа к данным позволяют создавать приложения архитектуры "клиент – сервер" и публиковать БД в Интернете и Интранете. Выбор технологии доступа зависит от особенностей решаемой задачи, используемой платформы и языка программирования. Размещение информации из БД в Интернете представляет собой новую информационную технологию, получившую широкое распространение в последние годы.

Пакет Borland Delphi имеет разные варианты поставки в зависимости от целей применения и цены (Delphi client – server и Delphi for Windows, Delphi Professional и Delphi Enprice), состав палитры "компонент" отличается и в разных версиях. Ваша версия может не включать перечисляемых ниже страниц палитры "компонент".

Установка привилегий доступа к данным

Структурная схема терминов

Понятие привилегии, привилегии по умолчанию

Привилегия представляет собой право доступа к БД. Управление привилегиями заключается в их установке или удалении. После создания объекта БД доступ к ней разрешен только создателю или системному администратору, имеющему имя SYSDBA. Для доступа к БД остальным пользователям им нужно назначать соответствующие привилегии.

Заведение нового пользователя производится в утилите InterBase Server Manager. Для доступа к определенной БД ему нужно назначить соответствующие привилегии в утилите WISQL. Сразу после создания этот пользователь имеет минимальные права доступа: ему разрешено только войти в БД (соединиться с ней).

Состав параметров при установлении привилегий

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

GRANT

<Список описателей доступа>

ON [TABLE] {<Имя таблицы>|<Имя просмотра>}

TO {<Пользователь>|<Список пользователей>}

EXECUTE ON PROCEDURE <Имя процедуры>

TO {< Пользователь>|<Список пользователей>};

<Пользователь> =

PROCEDURE <Имя процедуры>

| TRIGGER <Имя триггера>

|VIEW <Имя просмотра>

| [USER] <Имя пользователя>

| PUBLIC

<Список пользователей>

|[USER] <Имя пользователя>

...

[, [USER] <Имя пользователя>]

[WITH GRANT OPTION]

Назначение привилегий пользователю и группам пользователей

Привилегии позволяют разграничить доступ к таблицам и просмотрам со стороны пользователей. При этом под пользователем понимается любой объект, обращающийся к данным. Кроме приложения (пользователя), такими объектами могут быть таблицы, просмотры, хранимые процедуры и триггеры. Если привилегия предоставляется одновременно нескольким пользователям, то их имена перечисляются через запятую. Описатель PUBLIC означает, что привилегия устанавливается для всех пользователей. Описатель WITH GRANT OPTION означает, что пользователь может устанавливать предоставленную ему привилегию другим пользователям.

Используют следующие описатели вида доступа:

  • ALL – все права доступа;

  • SELECT – только чтение;

  • DELETE – удаление;

  • INSERT – вставка;

  • UPDATE – модификация.

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

Для установки привилегий, кроме вида доступа, нужно указать еще имя таблицы или просмотра, а также имя пользователя. Остальная информация является необязательной.

Пример 1

GRANT ALL ON Personnel TO Chief;

GRANT SELECT ON Personnel TO Manager;

GRANT SELECT, UPDATE (Name, BirthDay) ON Personnel TO TopManager;

Пример 2

GRANT ALL ON Store TO Chief, Manager, TopManager;

GRANT SELECT ON List TO PUBLIC;

Для управления доступом пользователей из Delphi используется компонент TIBSecurityService. Он выполняет все необходимые действия через свои свойства и методы.