All pastes #917162 Raw Edit

Mine

public text v1 · immutable
#917162 ·published 2008-02-25 04:03 UTC
rendered paste body
<?php

class EDM_Controller_Plugin_Auth extends Zend_Controller_Plugin_Abstract
{
    public function preDispatch(Zend_Controller_Request_Abstract $request)
    {
		
		//$auth = Zend_Auth::getInstance();
		$user = Zend_Auth::getInstance()->getIdentity();
		$acl = EDM_Acl::getInstance();
		$request = $this->getRequest();
		
		try {

			if (!$acl->hasRole($user->user_level_id)) {
        	    throw new Exception('Sorry, the requested user role "'.$user->user_level_id.'" does not exist');									
        	}
        	if (!$acl->has($request->getControllerName())) {
        	    throw new Exception('Sorry, the requested controller "'.$request->getControllerName().'" does not exist as an ACL resource');
        	}
			if (!$acl->isAllowed($user->user_level_id, $request->getControllerName(), $request->getActionName())) {
        	    throw new Exception('Sorry, the page you requested does not exist or you do not have access');
        	}

		} catch (Zend_Exception $e) {
			
			$request->setControllerName('error');
			$request->setActionName('error');
			$request->setDispatched(false);
			
		}
    }
}