![]() Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
![]() Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
![]() |
Авторизация пользователей
Авторизация – предоставление прав (или привилегий), позволяющих владельцу иметь законный доступ к системе или к её объектам. Механизм авторизации часто называют подсистемой управления доступом, которая также требует проектирования. Процесс авторизации включает в себя идентификацию и аутентификацию пользователей. Идентификация — это точное установление личности пользователя на основании различных признаков. Использование пароля – идентификация пользователя по одному признаку. Идентификация позволяет системе установить имя пользователя. Аутентификация — процедура проверки прав пользователя на доступ к данным и прав выполнения определенных действий с этими данными. Аутентификация не может определить личность пользователя, зато может точно указать, какими правами он обладает Администратор БД каждому созданному в БД пользователю присваивает уникальный идентификатор (логин), с каждым идентификатором связывается пароль, известный только пользователю. СУБД проверяет идентификатор и пароль пользователя при соединении пользователя с БД посредством утилит СУБД или приложения, которое настроено на соединение с БД. Алгоритм реализации процедуры проверки прав доступа пользователей может быть разным. Необходимо использовать все имеющиеся в СУБД средства для реализации точной настройки прав доступа, но не в коем случае не «зашивать» пароль пользователя в код прикладной программы. Более тонкая настройка уровней доступа пользователей возможна средствами языка SQL. Для этого можно использовать такие объекты БД как представления (просмотры, view). Представление – это динамический результат одной или нескольких реляционных операций с базовыми (хранимыми в БД) отношениями с целью создания некоторого иного отношения (виртуального), которое реально в БД не существует, но создается по требованию отдельных пользователей. Представление может быть определено на базе нескольких таблиц, после чего пользователю будут предоставлены необходимые привилегии доступа к этому представлению. Это жесткий механизм контроля доступа – пользователь не будет иметь никаких сведений о строках и столбцах таблиц, не включенных в представление. Привилегия доступа – возможность определенного пользователя (группы пользователей) выполнять определенный вид действия над определенными объектами БД. Привилегии определяется АД и реализуется АБД или другим пользователем, которому АБД предоставил такое право. SQL команда установки привилегий выглядит следующим образом: Grant <вид привилегии> On <имя таблицы/имя представления> To <объект/список пользователей>. Существуют следующие виды привилегий: — All – возможность выполнения всех операций (Select, Delete, Insert, Update, Execute); Select – только чтение данных; Delete – только удаление; Inser t – только добавление; Update – только обновление; Execute – возможность выполнения хранимых процедур. Объект это: процедура; триггер; представление (просмотр); пользователь и др. По умолчанию доступ к таблицам и хранимым процедурам имеет только тот пользователь, который их создал. Естественно, АБД имеет доступ ко всем объектам БД. Для предоставления пользователю привилегии доступа к таблице в операторе Grant необходимо указать, как минимум, следующие параметры: ключевое слово, обозначающее вид привилегии доступа; имя таблицы; имя пользователя. Пример 1. Предоставление пользователю IvanovVV права на выполнение поиска данных в таблице c названием Adres: Grant Select On Adres To IvanovVV. Пример команды создания пользователя: Create User IvanovVV Identified By <пароль>. Пример 2. Дать право выполнять все операции всем пользователям в таблице Adres: Grant Select, Insert, Update On Adres To Public. Пример 3. Предоставить пользователям IvanovVV и PetrovKL добавлять и менять значения столбцов А1 и А2 в таблице Adres: Grant Update (А1,A2) On Adres To IvanovVV, PetrovKL. Команда создания представления выглядит следующим образом: Create View <имя таблицы [(список столбцов)]> As (<Select >). Например, команда Create View «Представление1» («Название») As Select «Название» From «Должность» Where «Код категории» = 5, создает динамическую таблицу с именем «Представление1», в которой будет формироваться столбец с названием должностей из таблицы «Должность», поле «Код категории» которых равен 5. Пример использования представления в команде назначения прав: Grant Select On «Представление1» To «Пользователь1», «Пользователь2». После выполнения команды пользователям «Пользователь1» и «Пользователь2» будут даны права на чтение названий должностей, относящихся к 5 категории. Данные представления можно обновлять, т.е. применять к этому объекту БД операции добавления, изменения, вставки и удаления записей. Тогда пользователь, имеющий права на работу с этим представлением, сможет вследствие получить права и на операции, определенные для этого представления. При этом некоторые СУБД требуют выполнения трех условий: представление должно формироваться из записей только одной таблицы; в представление каждый столбец должен иметь опциональность Not Null; оператор Select представления не должен использовать агрегирующих функций, режима Distinct, предложения Having, операций соединения таблиц, хранимых процедур и функций, определенных пользователем.
Date: 2016-05-18; view: 607; Нарушение авторских прав |