- •1. Создание таблиц базы данных
- •1.1. Описание полей
- •1.2. Задание индексов
- •1.3. Задание ограничений на значения полей
- •1.4. Задание ссылочной целостности
- •1.5. Задание паролей
- •1.6. Задание языкового драйвера
- •1.7. Задание таблицы для выбора значений
- •1.5. Изменение структуры таблицы
- •2. Создание приложения
- •2.1. Приложение с одной формой
- •1.8. Просмотр списка подчиненных таблиц
- •2.2. Использование в приложениях модуля данных
1.5. Задание паролей
Пароль позволяет задать права доступа пользователей (приложений) к таблице. Если для таблицы установлен пароль, то он будет автоматически запрашиваться при каждой попытке открытия таблицы.
Замечание
Пароль действует на физическом уровне и его действие распространяется на все программы, выполняющие доступ к таблице: как на программы типа Database Desktop, так и на создаваемые приложения Delphi.
Для выполнения операций, связанных с заданием пароля, нужно выбрать строку Password Security в комбинированном списке Table Properties окна определения структуры таблицы (см. рис. 5.2). При этом под списком появляются кнопки Define и Modify. Нажатие кнопки Define вызывает окно Password Security (рис. 5.10), в котором задается пароль.
Рис. 5.10. Задание главного пароля
Пароль таблицы вводится два раза — в полях Master password (Главный пароль) и Verify master password (Подтвердить главный пароль). При нажатии кнопки ОК оба значения сверяются, и при их совпадении пароль принимается. Когда пароль определен, кнопка Define блокируется и становится доступной кнопка Modify изменения пароля. Ее нажатие снова вызывает окно задания пароля (рис. 5.10), в котором появляются кнопки Change и Delete, а поля редактирования заблокированы.
Нажатием кнопки Delete пароль удаляется, после чего его можно ввести заново. Если в качестве значения пароля указана пустая строка, то пароль для таблицы не задан. Нажатием кнопки Change поля редактирования разблокируются и значение пароля можно изменить (в обоих полях). При этом название кнопки Change изменяется на Revert (Возврат), и ее повторное нажатие возвращает значение пароля, которое было до начала редактирования.
Рассмотренный пароль считается главным паролем, который предоставляет пользователю полные права доступа к таблице, включая изменение записей и структуры таблицы, в том числе смену пароля. Кроме главного пароля, можно задать для таблицы дополнительные пароли, устанавливающие пользователю ограниченные права доступа к таблице. Для задания дополнительных паролей нажатием кнопки Auxiliary Passwords вызывается одноименное окно (рис. 5.11).
Рис. 5.11. Задание дополнительных паролей
В списке Passwords выводятся действующие дополнительные пароли. Группа переключателей Table rights определяет для пароля права доступа к таблице в целом. Они могут быть следующими:
All — полные права, включая изменение записей и структуры таблицы;
Insert & delete — разрешены вставка и удаление, а также редактирование записей,
запрещено изменение структуры таблицы;
Date entry — разрешены редактирование и вставка записей, запрещены изменение
структуры таблицы и удаление записей;
Update — разрешены только просмотр (чтение) записей и редактирование
неключевых полей;
Read only — разрешен только просмотр (чтение) записей.
Права доступа к таблице действуют на все ее поля, кроме того, для каждого поля можно установить отдельные права доступа, не зависящие от прав доступа к другим полям. Права доступа к полям выводятся слева от имени поля в списке Fields rights и содержат следующие позиции:
All — чтение и изменение значения поля;
Read only — только чтение значения поля;
None — доступ к полю запрещен.
Смена права доступа к полю выполняется выбором поля в списке и нажатием кнопки Fields rights, при котором право циклически устанавливается очередным значением списка (All, Read only и None).
Создание пароля начинается нажатием кнопки New, после чего его имя указывается в поле редактирования Current password (Текущий пароль) и устанавливаются права доступа к таблице и ее полям. Нажатие кнопки Add заносит пароль в список дополнительных паролей.
Нажатие кнопки Change переводит выбранный в списке пароль в режим редактирования, при этом появляются кнопки Accept (Подтвердить) и Revert, а также разблокируется кнопка Delete. В процессе редактирования пароль можно изменить, удалить или оставить без изменений. После смены имени пароля и права доступа внесенные изменения утверждаются нажатием кнопки Accept. Для выхода из режима редактирования и возврата к прежним установкам пароля необходимо нажать кнопку Revert. Удаляется пароль нажатием кнопки Delete.
Отметим, что из приложения паролями можно управлять с помощью методов компонента session. Управление паролями заключается в их добавлении и удалении:
процедура AddPassword (const Password: string) добавляет новый пароль, заданный параметром Password;
процедура RemovePassword (const Password: String) удаляет указанный пароль;
процедура RemoveAllPasswords — удаляет все пароли.
