当前位置: 首页>>代码示例>>PHP>>正文


PHP UserGroup::isGuestAccess方法代码示例

本文整理汇总了PHP中UserGroup::isGuestAccess方法的典型用法代码示例。如果您正苦于以下问题:PHP UserGroup::isGuestAccess方法的具体用法?PHP UserGroup::isGuestAccess怎么用?PHP UserGroup::isGuestAccess使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在UserGroup的用法示例。


在下文中一共展示了UserGroup::isGuestAccess方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: beforeFilter

 /**
  * Called before the controller action.  You can use this method to configure and customize components
  * or perform logic that needs to happen before each controller action.
  *
  * @param object $c current controller object
  * @return void
  */
 function beforeFilter(&$c)
 {
     $user = $this->__getActiveUser();
     UsermgmtInIt($this);
     $pageRedirect = $c->Session->read('permission_error_redirect');
     $c->Session->delete('permission_error_redirect');
     $controller = $c->params['controller'];
     $action = $c->params['action'];
     $actionUrl = $controller . '/' . $action;
     $requested = isset($controller->params['requested']) && $controller->params['requested'] == 1 ? true : false;
     $permissionFree = array('users/login', 'users/logout', 'users/register', 'users/userVerification', 'users/forgotPassword', 'users/activatePassword', 'pages/display', 'users/accessDenied', 'users/customer_register', 'users/customer_login');
     if ((empty($pageRedirect) || $actionUrl != 'users/login') && !$requested && !in_array($actionUrl, $permissionFree)) {
         App::import("Model", "Usermgmt.UserGroup");
         $userGroupModel = new UserGroup();
         if (!$this->isLogged()) {
             if (!$userGroupModel->isGuestAccess($controller, $action)) {
                 $c->log('permission: actionUrl-' . $actionUrl, LOG_DEBUG);
                 $c->Session->write('permission_error_redirect', '/users/login');
                 $c->Session->setFlash('You need to be signed in to view this page.');
                 $c->Session->write('Usermgmt.OriginAfterLogin', '/' . $c->params->url);
                 $c->redirect('/login');
             }
         } else {
             if (!$userGroupModel->isUserGroupAccess($controller, $action, $this->getGroupId())) {
                 $c->log('permission: actionUrl-' . $actionUrl, LOG_DEBUG);
                 $c->Session->write('permission_error_redirect', '/users/login');
                 $c->redirect('/accessDenied');
             }
         }
     }
 }
开发者ID:Numerico-Informatic-Systems-Pvt-Ltd,项目名称:asha,代码行数:38,代码来源:UserAuthComponent.php

示例2: beforeFilter

 /**
  * Called before the controller action.  You can use this method to configure and customize components
  * or perform logic that needs to happen before each controller action.
  *
  * @param object $c current controller object
  * @return void
  */
 function beforeFilter(&$c)
 {
     UsermgmtInIt($this);
     $user = $this->__getActiveUser();
     $pageRedirect = $c->Session->read('permission_error_redirect');
     $c->Session->delete('permission_error_redirect');
     $controller = $c->params['controller'];
     $action = $c->params['action'];
     $actionUrl = $controller . '/' . $action;
     $requested = isset($c->params['requested']) && $c->params['requested'] == 1 ? true : false;
     $permissionFree = array('users/login', 'users/logout', 'users/register', 'users/userVerification', 'users/forgotPassword', 'users/activatePassword', 'pages/display', 'users/accessDenied', 'users/emailVerification');
     $access = str_replace(' ', '', ucwords(str_replace('_', ' ', $controller))) . '/' . $action;
     $allControllers = $this->ControllerList->getControllerWithMethods();
     $errorPage = false;
     if (!in_array($access, $allControllers)) {
         $errorPage = true;
     }
     if ((empty($pageRedirect) || $actionUrl != 'users/login') && !$requested && !in_array($actionUrl, $permissionFree) && !$errorPage) {
         App::import("Model", "Usermgmt.UserGroup");
         $userGroupModel = new UserGroup();
         if (!$this->isLogged()) {
             if (!$userGroupModel->isGuestAccess($controller, $action)) {
                 $c->log('permission: actionUrl-' . $actionUrl, LOG_DEBUG);
                 $c->Session->write('permission_error_redirect', '/users/login');
                 $c->Session->setFlash('You need to be signed in to view this page.');
                 $cUrl = '/' . $c->params->url;
                 if (!empty($_SERVER['QUERY_STRING'])) {
                     $rUrl = $_SERVER['REQUEST_URI'];
                     $pos = strpos($rUrl, $cUrl);
                     $cUrl = substr($rUrl, $pos, strlen($rUrl));
                 }
                 $c->Session->write('Usermgmt.OriginAfterLogin', $cUrl);
                 $c->redirect('/login');
             }
         } else {
             if (!$userGroupModel->isUserGroupAccess($controller, $action, $this->getGroupId())) {
                 $c->log('permission: actionUrl-' . $actionUrl, LOG_DEBUG);
                 $c->Session->write('permission_error_redirect', '/users/login');
                 $c->redirect('/accessDenied');
             }
         }
     }
 }
开发者ID:miznokruge,项目名称:base-cake,代码行数:50,代码来源:UserAuthComponent.php

示例3: authorize

 /**
  * Called before the controller action.  You can use this method to configure and customize components
  * or perform logic that needs to happen before each controller action.
  *
  * @param object $c current controller object
  * @return void
  */
 function authorize(&$controller)
 {
     $user = $this->getUser();
     $pageRedirect = $controller->Session->read('permission_error_redirect');
     $controller->Session->delete('permission_error_redirect');
     $action = $controller->params['action'];
     $actionUrl = $controller->params['controller'] . '/' . $action;
     $this->updateActivity($controller, $actionUrl);
     $requested = isset($controller->params['requested']) && $controller->params['requested'] == 1 ? true : false;
     if (!in_array($actionUrl, unserialize(PERMISSION_FREE)) && empty($pageRedirect) && !$requested && !in_array($controller->params['controller'], array('css', 'img'))) {
         App::import("Model", "Users.UserGroup");
         $userGroupModel = new UserGroup();
         if (!$this->User->isLogged()) {
             if (!$userGroupModel->isGuestAccess($controller->params['controller'], $action)) {
                 $controller->Session->write('permission_error_redirect', array('plugin' => 'users', 'controller' => 'users', 'action' => 'login'));
                 $controller->Session->setFlash(__('You need to be signed in to view this page!'), 'warning');
                 $cUrl = '/' . $controller->params->url;
                 if (!empty($_SERVER['QUERY_STRING'])) {
                     $rUrl = $_SERVER['REQUEST_URI'];
                     $pos = strpos($rUrl, $cUrl);
                     $cUrl = substr($rUrl, $pos, strlen($rUrl));
                 }
                 if ($controller->request->is('ajax')) {
                     $controller->Session->write('Authorization.Redirect', $_SERVER['HTTP_REFERER']);
                     $controller->redirect(array('plugin' => 'users', 'controller' => 'users', 'action' => 'login'));
                 }
                 $controller->Session->write('Authorization.Redirect', $cUrl);
                 $controller->redirect(array('plugin' => 'users', 'controller' => 'users', 'action' => 'login'));
             }
         } else {
             if (!$userGroupModel->isUserGroupAccess($controller->params['controller'], $action, $this->User->Group->id())) {
                 $controller->redirect(array('plugin' => 'users', 'controller' => 'users', 'action' => 'accessDenied'));
             }
         }
     } elseif (!empty($pageRedirect)) {
         $controller->redirect($pageRedirect);
     }
     $this->setLanguage($this->getLanguage());
 }
开发者ID:riverans,项目名称:manage-expenses,代码行数:46,代码来源:AuthorizationComponent.php

示例4: beforeFilter


//.........这里部分代码省略.........
             $acToken = $ret->access_token;
             $rToken = $ret->refresh_token;
             $acExpr = $ret->expires_in;
             $this->Session->write('wechatUserInfo', $user);
             $wechatUserInfo = $user;
             $openId = $ret->openid;
         }
         /*user account about wechat's system is done*/
         //bind our system id;
         //wechat user data stored in db
         // wechatUser: in our DB ; wechatUserInfo: in cookie and wechat's system
         // they are different
         $username = $wechatUserInfo->nickname;
         $wechatUser = $this->WeChatDataModel->getWechatUserByOpenId($openId);
         if (!$wechatUser) {
             ///yes
             //create sys user
             if ($username == '') {
                 $wechatUserInfo = $this->Session->read('wechatUserInfo');
                 $username = $wechatUserInfo->nickname;
             }
             //create and bind it
             $count = 0;
             while ($this->User->findByFirstName($username)) {
                 if ($count == 0) {
                     $username = '来自微信的_' . $username;
                 } else {
                     $username = $userInfo['name'] . "{$count}";
                     $count += 1;
                 }
             }
             $sysUser = $this->newEmptyUserByWechat($openId, $username);
             //$this->UserAuth->debug($openId, $username);
             //var_dump($sysUser);
             //bind
             $userId = $sysUser['User']['id'];
             $data = array();
             $data['WechatUser']['iz_user_id'] = $userId;
             $data['WechatUser']['wechat_name'] = $username;
             // when we update these? todo
             $data['WechatUser']['open_id'] = $openId;
             $data['WechatUser']['access_token'] = $acToken;
             $expTime = $acExpr + time();
             $exptimeStamp = date("Y-m-d H:i:s", $expTime);
             $data['WechatUser']['access_token_expire'] = $exptimeStamp;
             $data['WechatUser']['refresh_token'] = $rToken;
             $this->WechatUser->save($data);
             $wechatUser = $this->WeChatDataModel->getWechatUserByOpenId($openId);
         }
         $c->wechatUser = $wechatUser;
         // got the info of our system' user account
         $userId = $wechatUser['WechatUser']['iz_user_id'];
         // login our sys
         $sysUser = $this->User->findById($userId);
         $this->login($sysUser);
         $this->setUser($c);
     }
     $user = $this->__getActiveUser();
     $pageRedirect = $c->Session->read('permission_error_redirect');
     $c->Session->delete('permission_error_redirect');
     $controller = $c->params['controller'];
     $action = $c->params['action'];
     $actionUrl = $controller . '/' . $action;
     $requested = isset($c->params['requested']) && $c->params['requested'] == 1 ? true : false;
     $permissionFree = array('users/login', 'users/logout', 'users/register', 'users/userVerification', 'users/forgotPassword', 'users/activatePassword', 'pages/display', 'users/accessDenied', 'users/emailVerification');
     $access = str_replace(' ', '', ucwords(str_replace('_', ' ', $controller))) . '/' . $action;
     $allControllers = $this->ControllerList->getControllerWithMethods();
     $errorPage = false;
     if (!in_array($access, $allControllers)) {
         $errorPage = true;
     }
     if ((empty($pageRedirect) || $actionUrl != 'users/login') && !$requested && !in_array($actionUrl, $permissionFree) && !$errorPage) {
         App::import("Model", "Usermgmt.UserGroup");
         $userGroupModel = new UserGroup();
         if (!$this->isLogged()) {
             //redirect to login
             if (!$userGroupModel->isGuestAccess($controller, $action)) {
                 $c->log('permission: actionUrl-' . $actionUrl, LOG_DEBUG);
                 $c->Session->write('permission_error_redirect', '/users/login');
                 $c->Session->setFlash(__('您需要登陆才能看这个页面哦...'));
                 $cUrl = '/' . $c->params->url;
                 if (!empty($_SERVER['QUERY_STRING'])) {
                     $rUrl = $_SERVER['REQUEST_URI'];
                     $pos = strpos($rUrl, $cUrl);
                     $cUrl = substr($rUrl, $pos, strlen($rUrl));
                 }
                 $c->Session->write('Usermgmt.OriginAfterLogin', $cUrl);
                 $c->redirect('/login');
             }
         } else {
             //logged
             $this->setUser($c);
             if (!$userGroupModel->isUserGroupAccess($controller, $action, $this->getGroupId())) {
                 $c->log('permission: actionUrl-' . $actionUrl, LOG_DEBUG);
                 $c->Session->write('permission_error_redirect', '/users/login');
                 $c->redirect('/accessDenied');
             }
         }
     }
 }
开发者ID:CheungZeeCn,项目名称:wobiancao_php,代码行数:101,代码来源:UserAuthComponent2.php


注:本文中的UserGroup::isGuestAccess方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。