Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 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: 540; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию