private function authorize(\Nethgui\Controller\RequestInterface $request) { foreach ($this->getChildren() as $child) { if ($request->isMutation()) { $auth = $this->getPolicyDecisionPoint()->authorize($request->getUser(), $child, self::ACTION_MUTATE); } else { $auth = $this->getPolicyDecisionPoint()->authorize($request->getUser(), $child, self::ACTION_QUERY); } if ($auth->isDenied()) { throw $auth->asException(1327499272); } } }
public function bind(\Nethgui\Controller\RequestInterface $request) { if (!$request->getUser()->getCredential('username') === 'root') { throw new \Nethgui\Exception\HttpException('Not found', 404, 1417136236); } $this->setUserName('root'); parent::bind($request); }
public function bind(\Nethgui\Controller\RequestInterface $request) { $user = $request->getUser(); $isAdmin = $user->hasCredential('username') && in_array($user->getCredential('username'), array('admin', 'root')) || $user->hasCredential('groups') && in_array('adm', $user->getCredential('groups')); $this->loadChildrenDirectory($this, $isAdmin ? 'Dashboard' : 'UserDashboard'); $this->sortChildren(array($this, "sortPlugin")); parent::bind($request); }
public function bind(\Nethgui\Controller\RequestInterface $request) { $userName = $request->getUser()->getCredential('username'); if ($userName === 'admin' && $this->getPlatform()->getDatabase('accounts')->getType('admin') !== 'user') { # Fake admin user, fallback to root. $userName = '******'; } // The root user needs a different data source: if ($userName === 'root') { $this->adapter = $this->getPlatform()->getTableAdapter('configuration', 'configuration'); } else { $this->adapter = $this->getPlatform()->getTableAdapter('accounts', 'user'); } // Inject username-dependent datasource into the record adapter $this->recordAdapter->setTableData($this->adapter)->setKeyValue($userName); parent::bind($request); }