SonataUserBundleなしでSonataAdminBundle を使用していますが、FOSUserBundleのみを使用しています。理由はSymfony 3を使用しているためで、SonataUserBundleはそこでは動作しません。SonataAdminBundleの役割
今、私は24の管理サービスを持っています。ユーザーが新しいユーザーを作成できず、他のユーザーのプロファイルを変更できないように、Adminクラスを1つだけ変更する必要があります。スーパー管理者だけがそれを行うことができます。
しかし、私は24 Adminsのロールをこのように書く必要があるのですか?
ROLE_OPTICKS_ACCESS:
- ROLE_SONATA_ADMIN_FOO_LIST
- ROLE_SONATA_ADMIN_FOO_VIEW
- ROLE_SONATA_ADMIN_FOO_CREATE
- ROLE_SONATA_ADMIN_FOO_EDIT
- ROLE_SONATA_ADMIN_FOO_DELETE
- ROLE_SONATA_ADMIN_FOO_EXPORT
この場合、私のsecurity.ymlには約144個の行があります。そして、私はROLE_SONATA_ADMIN_USER_CREATE
とROLE_SONATA_ADMIN_USER_EDIT
という2つの行を削除して、自分のプロフィールを編集できるようにする方法を見つけ出すことができます。
誰でも手助けできますか?これはこれを行う最善の方法ですか?私はそれを正しくしていますか?
私はちょうどこのようなことを考えていたので、
protected function configureRoutes(RouteCollection $collection)
{
$securityContext = $this->getConfigurationPool()->getContainer()->get('security.authorization_checker');
if (!$securityContext->isGranted('ROLE_SUPER_ADMIN')) {
$collection->remove('create');
$collection->remove('edit');
}
}
しかし、明らかに私は間違った方法でやっていますが、私もエラーが表示されます。
トークンストレージには認証トークンが含まれていません。一つの可能 理由はこのURL
、私は必死に助けを必要としてくださいにするために構成ファイアウォールがないことかもしれません。