2013-05-21 80 views
0

我是一個beginer zend框架程序員。我確實使用ZfcUser進行身份驗證,並使用Bjyauthorize進行授權。我必須輸入用戶類型:普通用戶和管理員。所以我想要做的是將用戶路由到頁面A和管理員頁面B後認證。 在Zfcuser configuation文件中有沒有這種可能性,我們剛纔這條線Zend Framework2使用Zfcuser&Bjyauthorize路由

'logout_redirect_route' => 'zfcuser/login', 

怎麼辦指定我型動物用戶指出錯誤路線?

回答

0

對我來說,你的問題與ZfcUser或BjyAuthorize無關:只要讓用戶和管理員進入你的控制器,你就可以根據用戶角色發送它們。

return $this->forward()->dispatch('MyModule\Controller\Index', array('action'=>'PageB')); 
0

假設您在bjyauthorize中有'管理員'角色,您希望重定向到另一個路由。與此代碼

if ($this->zfcUserAuthentication()->getAuthService()->hasIdentity()) { 
     return $this->redirect()->toRoute($this->getOptions()->getLoginRedirectRoute()); 
    } 

在你的LoginAction替換代碼

if ($this->zfcUserAuthentication()->getAuthService()->hasIdentity()) { 
     $roles = $this->serviceLocator->get('BjyAuthorize\Provider\Identity\ProviderInterface')->getIdentityRoles(); 
     if (in_array('admin',$roles)) 
     { 
      return $this->redirect()->toRoute('admin_route'); 
     } else { 
      return $this->redirect()->toRoute('user_route'); 
     } 
    }