public function postDispatch(Zend_Controller_Request_Abstract $request) { // if (Zend_Registry::isRegistered(Tomato_Core_GlobalKey::LOG_REQUEST) // && Zend_Registry::get(Tomato_Core_GlobalKey::LOG_REQUEST) == false // ) { // return; // } $objRequestLog = new Model_RequestLog(); $uri = $request->getRequestUri(); $agent = $request->getServer('HTTP_USER_AGENT'); $browserInfo = self::_getBrowserInfo($agent); $objRequestLog->insert(array('ip' => $request->getClientIp(), 'agent' => $agent, 'browser' => $browserInfo['browser'], 'version' => $browserInfo['version'], 'platform' => $browserInfo['platform'], 'bot' => self::_getBot($agent), 'uri' => $uri, 'full_url' => $request->getScheme() . '://' . $request->getHttpHost() . '/' . ltrim($uri, '/'), 'refer_url' => $request->getServer('HTTP_REFERER'), 'access_time' => date('Y-m-d H:i:s'))); // $log = new Tomato_Modules_Core_Model_RequestLog( // array( // 'ip' => $request->getClientIp(), // 'agent' => $agent, // 'browser' => $browserInfo['browser'], // 'version' => $browserInfo['version'], // 'platform' => $browserInfo['platform'], // 'bot' => self::_getBot($agent), // 'uri' => $uri, // 'full_url' => $request->getScheme().'://'.$request->getHttpHost().'/'.ltrim($uri, '/'), // 'refer_url' => $request->getServer('HTTP_REFERER'), // 'access_time' => date('Y-m-d H:i:s'), // ) // ); // $conn = Tomato_Core_Db_Connection::getMasterConnection(); // $gateway = new Tomato_Modules_Core_Model_RequestLogGateway(); // $gateway->setDbConnection($conn); // $gateway->create($log); }
public function preDispatch(AbstractRequest $request) { if ($request->module === 'default' && $request->controller === 'auth') { return; } $frontController = FrontController::getInstance(); $bootstrap = $frontController->getParam('bootstrap'); $serviceManager = $bootstrap->getResource('ServiceManager'); $authService = $serviceManager->get('Zend\\Authentication\\AuthenticationService'); if (!$authService->hasIdentity()) { $response = $this->getResponse(); $currentUri = sprintf('%s://%s%s%s', $request->getScheme(), $request->getHttpHost(), $request->getBaseUrl(), $request->getPathInfo()); $adapter = $authService->getAdapter(); $adapter->setLoginParameters(array('service' => $currentUri)); // Assume user is back here from a CAS authentication if ($request->getQuery('ticket')) { $adapter->setServiceValidateParameters(array('service' => $currentUri, 'ticket' => $request->getQuery('ticket'))); // Validate the ticket $result = $authService->authenticate(); if (!$result->isValid()) { $response->setRedirect($adapter->createLoginUri()); } // Assume the user just got here } else { $response->setRedirect($adapter->createLoginUri()); } } }