1

プロジェクトで ZfcUser と BjyAuthorize を使用しています。ユーザーがログインすると、デフォルト ルートにリダイレクトされます。

しかし、私はそれを変更したいので、ロールAを持つユーザーがページAにリダイレクトされ、ロールBを持つユーザーがページBにリダイレクトされる場合.

これを実現する方法はありますか?

4

4 に答える 4

0

別のルートにリダイレクトしたい 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');
        }
    }
于 2013-08-28T05:13:57.167 に答える