Mercurial > pub > Impl
view Lib/IMPL/Security/Role.pm @ 400:ef37ec102dab
redirection support while fetching child resources
author | cin |
---|---|
date | Wed, 14 May 2014 17:27:32 +0400 |
parents | 69a1f1508696 |
children |
line wrap: on
line source
package IMPL::Security::Role; use strict; use IMPL::require { AbstractRole => 'IMPL::Security::AbstractRole' }; use IMPL::declare { base => [ 'IMPL::Object' => undef, 'IMPL::Security::AbstractRole' => undef ], _implement => 1 }; sub CTOR { my ($this,$name,$parentRoles) = @_; $this->roleName($name) if $name; $this->parentRoles($parentRoles) if $parentRoles; } 1; __END__ =pod =head1 NAME C<IMPL::Security::Role> - стандартная реализация роли безопасности. =head1 SYNOPSIS =begin code # create the megarole my $role = IMPL::Security::Role->new(megarole => [ $adminRole, $directorRole ] ); #use it in context my $context = IMPL::Security::Context->new( principal => $user, assignedRoles => [$user->roles, $megarole] ); $context->Impersonate( sub { # do something forbidden }); =end code =head1 DESCRIPTION Позволяет создавать объекты ролей без привязки к источникам данных и модулям авторизации. Чаще всего используется при реализации каких либо механизмов безопасности, где требуется создать временную роль. C<IMPL::Security::AbstractRole> =cut