Mercurial > pub > Impl
comparison Lib/IMPL/Web/Security.pm @ 73:2f31ecabe9ea
doc
security
| author | wizard |
|---|---|
| date | Mon, 29 Mar 2010 06:56:05 +0400 |
| parents | f47f93534005 |
| children | 2d1c3f713280 |
comparison
equal
deleted
inserted
replaced
| 72:eac47fa4f262 | 73:2f31ecabe9ea |
|---|---|
| 1 package IMPL::Web::Security; | 1 package IMPL::Web::Security; |
| 2 | |
| 3 use base qw(IMPL::Object IMPL::Security IMPL::Object::Autofill); | |
| 4 | |
| 5 use IMPL::Class::Property; | |
| 6 | |
| 7 __PACKAGE__->PassThroughArgs; | |
| 8 | |
| 9 BEGIN { | |
| 10 public property sessionFactory => prop_get | owner_set; | |
| 11 public property userFactory => prop_get | owner_set; | |
| 12 } | |
| 13 | |
| 14 sub CTOR { | |
| 15 my ($this) = @_; | |
| 16 | |
| 17 $this->dataSource or die new IMPL::InvalidArgumentException("The argument is required",'dataSource'); | |
| 18 } | |
| 19 | |
| 20 sub Session { | |
| 21 my ($this,%args) = @_; | |
| 22 } | |
| 23 | |
| 24 sub User { | |
| 25 | |
| 26 } | |
| 2 | 27 |
| 3 1; | 28 1; |
| 4 | 29 |
| 5 __END__ | 30 __END__ |
| 6 | 31 |
| 7 =pod | 32 =pod |
| 8 | 33 |
| 34 =head1 NAME | |
| 35 | |
| 36 C<IMPL::Web::Security> Модуль для аутентификации и авторизации веб запроса. | |
| 37 | |
| 38 =head1 SINOPSYS | |
| 39 | |
| 40 =begin code xml | |
| 41 | |
| 42 <security type='IMPL::Config::Activator'> | |
| 43 <factory>IMPL::Web::Security</factory> | |
| 44 <parameters type='HASH'> | |
| 45 <sessionFactory type='IMPL::Object::Factory'> | |
| 46 <factory type='IMPL::Object::Factory'>App::Data::Session</factory> | |
| 47 <method>insert</method> | |
| 48 </sessionFactory> | |
| 49 </parameters> | |
| 50 </security> | |
| 51 | |
| 52 =end code xml | |
| 53 | |
| 9 =head1 DESCRIPTION | 54 =head1 DESCRIPTION |
| 10 | 55 |
| 11 Модуль для аутентификации и авторизации веб запроса. | 56 Отвечает за инфраструктуру аутентификации и авторизации запросов. Основная особенность |
| 57 заключается в том, что запросы приходят через значительные интевалы времени, хотя и | |
| 58 относятся к одной логической транзакции. В промежутках между запросами сервер не | |
| 59 сохраняет свое состояние. Поэтому при каждом обращении сервер восстанавливает | |
| 60 контекст безопасности. | |
| 12 | 61 |
| 13 Получает запрос, вычленяет из него информацию для авторизации, производит авторизацию пользователя | 62 C<IMPL::Web::Session> Объект обеспечивающий сохранение состояния в рамках одной сессии |
| 14 и создает контекст безопасности. | 63 пользователя. Кроме контекста безопасности хранит дополнительние данные, которые необходимо |
| 64 сохранить между обработкой запросов. | |
| 15 | 65 |
| 16 При этом использует указанные модули аутентификации. | 66 C<IMPL::Web::User> Объект, устанавливающий связь между идентификатором пользователя |
| 67 C<IMPL::Security::Principal>, его ролями и данными безопасности для создания объектов | |
| 68 аутентификации C<IMPL::Security::Auth>. | |
| 17 | 69 |
| 18 Информацию для аутентификации модуль получает через соответствующие адаптеры. | 70 =head1 MEMBERS |
| 19 | |
| 20 =item C<IMPL::Web::Security::Server> | |
| 21 | |
| 22 Аутентифицирует пользователя на основе данных, предоставленных сервером | |
| 23 | |
| 24 =item C<IMPL::Web::Security::Embed> | |
| 25 | |
| 26 Аутентифицирует пользователя используя указанные модули, при этом получает данные | |
| 27 из запроса. | |
| 28 | 71 |
| 29 =cut | 72 =cut |
