プロジェクトで ZfcUser と BjyAuthorize を使用しています。ユーザーがログインすると、デフォルト ルートにリダイレクトされます。
しかし、私はそれを変更したいので、ロールAを持つユーザーがページAにリダイレクトされ、ロールBを持つユーザーがページBにリダイレクトされる場合.
これを実現する方法はありますか?
プロジェクトで ZfcUser と BjyAuthorize を使用しています。ユーザーがログインすると、デフォルト ルートにリダイレクトされます。
しかし、私はそれを変更したいので、ロールAを持つユーザーがページAにリダイレクトされ、ロールBを持つユーザーがページBにリダイレクトされる場合.
これを実現する方法はありますか?
別のルートにリダイレクトしたい bjyauthorize に「管理者」ロールがあるとします。
loginAction のコードを次のように置き換えます。
if ($this->zfcUserAuthentication()->getAuthService()->hasIdentity()) {
return $this->redirect()->toRoute($this->getOptions()->getLoginRedirectRoute());
}
このコードで:
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');
}
}