diff Lib/IMPL/Security/AbstractContext.pm @ 260:2879cdb6b8cd

sync
author sergey
date Tue, 25 Dec 2012 02:18:59 +0400
parents b8c724f6de36
children fe725fad2d90
line wrap: on
line diff
--- a/Lib/IMPL/Security/AbstractContext.pm	Fri Dec 21 00:09:11 2012 +0400
+++ b/Lib/IMPL/Security/AbstractContext.pm	Tue Dec 25 02:18:59 2012 +0400
@@ -3,8 +3,11 @@
 use warnings;
 
 use IMPL::Const qw(:prop);
+
 use IMPL::require {
-    Role => 'IMPL::Security::Role'
+    Role => 'IMPL::Security::Role',
+    Exception => 'IMPL::Exception',
+    NotImplementedException => '-IMPL::NotImplementedException'
 };
 
 use parent qw(IMPL::Class::Meta);
@@ -118,9 +121,10 @@
 
 Идентификатор пользователя, владельца контекста.
 
-=head2 C<[get] rolesAssigned>
+=head2 C<[get,set] rolesAssigned>
 
-Список назначенных (активных) ролей пользователю.
+Явно назначенные роли. Если список пуст, то считается, что используются роли
+пользователя по-умолчанию.
 
 =head2 C<[get] auth>
 
@@ -149,4 +153,10 @@
 Заменяет текущий контекст на себя, но до конца действия метода C<Impersonate>, если
 таковой был вызван.
 
+=head2 C<Satisfy(@roles)>
+
+Проверяет наличие необходимых ролей у контекста. Данный метод позволяет
+абстрагироваться от механизмов связи контекста и ролей. Возвращает истинное
+значение если список необходимых ролей у пользователя имеется.
+
 =cut