✏️ 正在编辑: Auth.php
路径:
/srv/systems_dir/koruspay/application/plugins/Auth.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Plugin_Auth extends Zend_Controller_Plugin_Abstract { public function routeStartup(Zend_Controller_Request_Abstract $request) { // $log = new Model_DbTable_Log(); // Yuppie_Log::setDbTable($log); } /** * This method is executed before the action * * @link http://framework.zend.com/manual/en/zend.controller.action.html#zend.controller.action.prepostdispatch * @param Zend_Controller_Request_Abstract $request */ public function preDispatch(Zend_Controller_Request_Abstract $request) { if (in_array($request->getControllerName(), ['error', 'automations', 'api-partner'])) { return; } if (!Yuppie_Auth::hasIdentity() && $request->getControllerName() != 'auth') { // Monta a url para onde redirecionar após efetuar o login $params = $request->getParams(); $url = $params['controller'] . '/' . $params['action']; if (isset($params['module']) && $params['module'] && $params['module'] != 'default') { $url = $params['module'] . '/' . $url; } foreach($params as $paramName => $paramValue) { if (!in_array($paramName, array('controller', 'action', 'error_handler', 'module', 'tipo_acesso', 'login', 'password', 'submit'))) { $url .= "/{$paramName}/{$paramValue}"; } } $request->setParam('url', $url); $request->setControllerName('auth'); $request->setActionName('login'); return; } if ($request->getControllerName() == 'auth') { return; } $identity = Yuppie_Auth::getIdentity(); $ns = new Zend_Session_Namespace(); if (isset($ns->acl)) { if (!$ns->acl->isAllowed($identity->group, $request->getControllerName(), $request->getActionName()) && $identity->group != 'Administradores') { $request->setControllerName('index'); $request->setActionName('sem-permissao'); } } else { $request->setControllerName('index'); $request->setActionName('sem-permissao'); } // elseif( Yuppie_Auth::hasIdentity()) { // $identity = Yuppie_Auth::getIdentity(); // $acl = new Core_LibraryAcl($identity->group); // // if( $request->getControllerName() != 'auth' && $identity->group != 'Administradores' ){ // if( !$acl->has($request->getControllerName()) || !$acl->isAllowed($identity->group, $request->getControllerName(), $request->getActionName()) ){ // $request->setControllerName('index'); // $request->setActionName('sem-permissao'); // } // } // } } public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request) { if( Yuppie_Auth::hasIdentity() ){ // user is logged in // get an instance of Zend_Session_Namespace used by Zend_Auth $authns = new Zend_Session_Namespace(Yuppie_Auth::getStorage()->getNamespace()); // set an expiration on the Zend_Auth namespace where identity is held // $authns->setExpirationSeconds(60 * 30); // expire auth storage after 30 min $authns->setExpirationSeconds(24 * 3600); // expire auth storage after 24 hour } } }
💾 保存文件
← 返回文件管理器