Образовательный портал Claw.ru
Всё для учебы, работы и отдыха
» Шпаргалки, рефераты, курсовые
» Сочинения и изложения
» Конспекты и лекции
» Энциклопедии

В принципе, тот же самый результат можно получить и другими способами. Например, вот такое выражение SQL отражает те же самые правила:

case

 when ReportDate > DateAdd(month, GetDate(), 1) then false

 when ReportDate > DateAdd(month, GetDate(), 6) then

  IsUserInRole('senior_analyst')

 else IsUserInRole('junior_analyst')

end

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

(IsUserInRole(<role1>) AND <role1_restrictions>)

 OR

(IsUserInRole(<role2>) AND <role2_restrictions>)

 OR ...

(IsUserInRole(<roleN>) AND <roleN_restrictions>)

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

Лишение доступа

Форма предиката безопасности, рассмотренная выше, подразумевает «пессимистичный» режим, т.е. доступ к данным имеют только те категории пользователей, которые явно перечислены в предикате.

ПРИМЕЧАНИЕ

Строго говоря, если мы не опишем ни одного правила, то предикат будет пустым и доступ получат все пользователи. Однако выдача таким способом доступа хотя бы одной роли автоматически лишит доступа всех остальных пользователей. Решить эту проблему можно раз и навсегда - введя дополнительный член ...OR FALSE в предикат безопасности. Однако подобный вырожденный случай нетрудно обработать специальным образом, и далее в тексте везде предполагается наличие в списке доступа хотя бы одного явного разрешения.

Иногда удобнее описывать правила безопасности в терминах «оптимистичного» режима, т.е. лишить доступа только некоторое множество пользователей. В этом случае предикат приобретет такой вид:

NOT

(

 (IsUserInRole(<restricted_role1>) [AND <restricted_role1_restrictions>])

  OR ...

 (IsUserInRole(<restricted_roleN>) [AND <restricted_roleN_restrictions>])


Рекомендуем скачать другие рефераты по теме: оценка реферата, диплом анализ.


Категории:




Предыдущая страница реферата | 1  2  3  4  5  6  7  8  9  10 |


Поделитесь этой записью или добавьте в закладки

   



Рефераты от А до Я


Полезные заметки

  •