рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рдореИрдВ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдордВрдЪ рдХреЗ рд░реВрдк рдореЗрдВ Zend рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдмрд╣реБрдореБрдЦреА рдкреНрд░рддрд┐рднрд╛ рдХрд╛ рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдЖрд╢реНрд╡рд╕реНрдд рд╣реЛ рд░рд╣рд╛ рд╣реВрдВред рдЖрдЬ рдореИрдВ Zend рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рдПрдХ рд╕рд╛рдЗрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдмрдирд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛, рдЬреЛ рдордзреНрдпрдо рд╕реНрддрд░ рдХреА рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЖрдзрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛
:
- рдПрдХ рднрд╛рдЧ
- рдкреНрд░рдорд╛рдгреАрдХрд░рдг - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓реЙрдЧрд┐рди
- рдПрд╕реАрдПрд▓ - рдкрд╣реБрдВрдЪ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХрд╛ рд╡рд┐рддрд░рдг
- рднрд╛рдЧ рджреЛ
- рд░реВрдЯрд┐рдВрдЧ - рд╡рд┐рднрд┐рдиреНрди рд╕рд┐рд╕реНрдЯрдо рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП url рд╕реЗрдЯ рдХрд░рдирд╛
- рд░рдЬрд┐рд╕реНрдЯреНрд░реА - рд╕рд┐рд╕реНрдЯрдо рд╕реНрдерд┐рд░рд╛рдВрдХ рддрдХ рддреНрд╡рд░рд┐рдд рдкрд╣реБрдВрдЪ
рдкреНрд░рдорд╛рдгреАрдХрд░рдг
рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд▓рдЧрднрдЧ рдХрд┐рд╕реА рднреА рд╕рд╛рдЗрдЯ рдХрд╛ рдПрдХ рдЕрднрд┐рдиреНрди рдЕрдВрдЧ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, Zend рдлреНрд░реЗрдорд╡рд░реНрдХ рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ Zend_Auth рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдШрдЯрдХ рдЖрдкрдХреЛ рд▓реЙрдЧрд┐рди-рдкрд╛рд╕рд╡рд░реНрдб рдЬреЛрдбрд╝реА рдХреЗ рдореЗрд▓ рд╕реЗ рдЬрд╛рдВрдЪ рдХрд░рдХреЗ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЖрдорддреМрд░ рдкрд░, рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╣реИ, рд╕рд╛рде рд╣реА рдПрдХ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдкрдВрдЬреАрдХрд░рдг (рдпрд╛ рдкрдВрдЬреАрдХрд░рдг рдкреБрд╖реНрдЯрд┐) рд╕рдВрднрд╡ рд╣реИред рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
public function authAction(){ $form = new Application_Form_Enter(); if ($form->isValid($this->getRequest()->getPost())){ $bootstrap = $this->getInvokeArg('bootstrap'); $auth = Zend_Auth::getInstance(); $adapter = $bootstrap->getPluginResource('db')->getDbAdapter(); $authAdapter = new Zend_Auth_Adapter_DbTable( $adapter, 'user', 'login', 'password', 'MD5(?)' ); $authAdapter->setIdentity($form->login->getValue()); $authAdapter->setCredential($form->password->getValue()); $result = $auth->authenticate($authAdapter);
рдпрд╣ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЛрдб рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреВрд░реНрдг рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЙрдкрдпреБрдХреНрдд рдлрд╝реЙрд░реНрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдЬреЛ рдЗрд╕ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рднреЗрдЬрддрд╛ рд╣реИред
рд╕рдлрд▓ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рдмрд╛рдж, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ Zend_Auth рднрдВрдбрд╛рд░рдг рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрдм рдЖрдкрдХреЛ рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдЖрдк Zend_Auth (рдпрд╣ рд╣рд░ рдЬрдЧрд╣ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдПрдХ рд╕рд┐рдВрдЧрд▓рдЯрди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИ) рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ:
$auth = Zend_Auth::getInstance();
рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд╣рд▓реА рдмрд╛рд░ рд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрджрдо рд╣реИ рдЬрд┐рд╕реЗ Zend_Auth рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЖрд░рдВрднреАрдХрд░рдг рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рд╡рд┐рдзрд┐ рдЬреЛрдбрд╝реЗрдВ:
public function _initAuth(){ $auth = Zend_Auth::getInstance(); $data = $auth->getStorage()->read(); if (!isset($data->status)){ $storage_data = new stdClass(); $storage_data->status = 'guest'; $auth->getStorage()->write($storage_data); } }
Acl
рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХрдИ рдПрдХреНрд╕реЗрд╕ рд╕реНрдЯреЗрдЯрд╕ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВред рдЕрдзрд┐рдХрд╛рдВрд╢ рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдФрд░ рдЙрдирдХрд╛ рд╡рд┐рддрд░рдг рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рд╕реНрдерд┐рд░ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо Acl рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдореЗрдВ рд╕реАрдзреЗ рд▓рд┐рдЦреЗ рдЧрдП рдирд┐рдпрдореЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдПрдХ рдРрд╕реА рдкреНрд░рдгрд╛рд▓реА рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдФрд░ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдПрдХ рдмрджрд▓рддреА рд╕рдВрд░рдЪрдирд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реАрдПрдордПрд╕), рддреЛ рдЖрдкрдХреЛ Acl рдХрд╛ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЕрдзрд┐рдХрд╛рд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВред
рдПрдХреНрд╕реЗрд╕ рдХрдВрдЯреНрд░реЛрд▓ рд╕рд┐рд╕реНрдЯрдо рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХреНрд╕реЗрд╕ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рд╣реИред рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рджреЛ рдШрдЯрдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
- Acl - рдкреНрд░рд╛рдзрд┐рдХрд░рдг рд╕реВрдЪреА
- рдкреНрд▓рдЧрдЗрди рдЬреЛ рдЕрдиреБрд░реЛрдзрд┐рдд рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╕рд╣реА рдкрд╣реБрдВрдЪ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ
рд╕рдмрд╕реЗ рд╕рд░рд▓ рдорд╛рдорд▓реЗ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬрдм рд╕рдВрд╕рд╛рдзрди рдХрд┐рд╕реА рд╕рд╛рдЗрдЯ рдХреЗ рднрд╛рдЧ рд╣реЛрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреНред рдПрдорд╡реАрд╕реА, рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВред рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рд╛рд░ рд╕реНрдерд┐рддрд┐ (рдЕрддрд┐рдерд┐, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ) рд╕реЗ рдЕрдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдерд┐рддрд┐ рдХреЗ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ Acl рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИрдВред Acl рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо Zend_Acl рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ:
class Acl extends Zend_Acl { public function __construct() {
рдЗрд╕ рдХреЛрдб рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди / рдХреНрд▓рд╛рд╕реЗрд╕ / Acl.php рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд░рдЦреЗрдВред
рд╣рдо ZF рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рд░реВрдк рдореЗрдВ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреА рд╕реВрдЪрд┐рдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдВ рдПрдХ рд╡рд┐рдзрд┐ рднреА рдмрдирд╛рдИ рдЧрдИ рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреА рд╣реИред рд╕рдВрд╕рд╛рдзрди рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ, рдирд┐рдпрдВрддреНрд░рдХ / рдХрд╛рд░реНрд░рд╡рд╛рдИ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдбрд┐рдЬрд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рдЕрдВрджрд░ рдЖрдкрдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рдЕрдзрд┐рдХрд╛рд░ рдирд╣реАрдВ рдмрджрд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рд╕рдВрд╕рд╛рдзрди рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛рдУрдВ рдХреЗ рдмрдЬрд╛рдп рдХреЗрд╡рд▓ рдирд┐рдпрдВрддреНрд░рдХ рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдХреИрди рд╡рд┐рдзрд┐ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдордд рднреВрд▓рдирд╛)ред
рдЕрдзрд┐рдХ рд▓рдЪреАрд▓реЗрдкрди рдХреЗ рд▓рд┐рдП, рд╣рдо "рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░" рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рднреАрддрд░ рдХреБрдЫ рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рджреЗрдЦрдиреЗ рдХрд╛ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ "рд╢реЛ" рдХрд╣рд▓рд╛рддрд╛ рд╣реИред
рдЕрдм рдЬрдм рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХреНрд╕реЗрд╕ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ рдФрд░ рд╣рдо рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрд░рд╡рд╛рдИ рддрдХ рдкрд╣реБрдВрдЪ рд╣реИ, рддреЛ рд╣рдореЗрдВ Zend рдлреНрд░реЗрдорд╡рд░реНрдХ рдЕрдиреБрд░реЛрдз рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдЪрдХреНрд░ рдореЗрдВ рдЪреЗрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдлреНрд░рдВрдЯ рдХрдВрдЯреНрд░реЛрд▓рд░ рдкреНрд▓рдЧрдЗрди рдмрдирд╛рдирд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╣реИред рдкреНрд▓рдЧ-рдЗрди рдЖрдкрдХреЛ рдкреНрд░реЗрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдЪрд░рдгреЛрдВ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:
class CheckAccess extends Zend_Controller_Plugin_Abstract { public function preDispatch(Zend_Controller_Request_Abstract $request) { $acl = Zend_Controller_Front::getInstance()->getParam('bootstrap')->getResource('Acl'); if (!$acl->can()){ $this->generateAccessError(); } } public function generateAccessError($msg=' !'){ $request = $this->getRequest(); $request->setControllerName ('error'); $request->setActionName('error'); $request->setParam('message', $msg); } }
рдЗрд╕ рдХреЛрдб рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди / рдкреНрд▓рдЧрдЗрдиреНрд╕ / CheckAccess.php рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд░рдЦреЗрдВред
рдпрд╣ рдкреНрд▓рдЧрдЗрди рд╕рд╛рдЗрдЯ рдкрд░ рдкреНрд░рд╛рдкреНрдд рд╣рд░ рдЕрдиреБрд░реЛрдз рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХреНрд╕реЗрд╕ рдЪреЗрдХ рдХрд░реЗрдЧрд╛ред рдПрдХреНрд╕реЗрд╕ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдКрдкрд░ рд╡рд░реНрдгрд┐рдд Acl рдХреНрд▓рд╛рд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдиреБрд░реЛрдз рддреНрд░реБрдЯрд┐ / рддреНрд░реБрдЯрд┐ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реЛрдЧрд╛ред рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ ErrorController.php рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рдХреЛрдб рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред
рдЕрдм рдЖрдкрдХреЛ рдкреНрд▓рдЧрдЗрди рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдФрд░ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдореЗрдВ рдПрдХ рдПрд╕реАрдПрд▓ рд╕рдВрд╕рд╛рдзрди рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
public function _initAcl(){ Zend_Loader::loadClass('Acl'); Zend_Loader::loadClass('CheckAccess'); Zend_Controller_Front::getInstance()->registerPlugin(new CheckAccess()); return new Acl(); }
Zend_Loader рдХреЛ "рдкрддрд╛" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╣рдорд╛рд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХрд╣рд╛рдБ рджреЗрдЦрдирд╛ рд╣реИ, рдЗрд╕реЗ application.ini рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ:
PPs.s.plugins = APPLICATION_PATH "/ plugins" рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ
PPs.s.classes = APPLICATION_PATH "/ classes" рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ
рдЗрд╕ рдкреЛрд╕реНрдЯ рдореЗрдВ PS, рдЕрднрд┐рдЧрдо рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХрд╛рдВрд╢ рдЫреЛрдЯреА рд╕рд╛рдЗрдЯреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ