ログインしているユーザーとAdminクラスの取得に問題があります。私がしたいのは、(イベントを作成するときに他の組織を選ぶことができないように)選択欄をユーザ組織にログインするように制限することです。したがって、私は私のCalendarAdminにTokenStorageを注入してきましたが、私はログインしていても、$はtokenStorage->入手トークンは、()nullである をここに私の関連するコードです:。SecurityToken null in Sonata Adminクラス
のsecurity.yml:
providers:
in_memory:
memory: ~
fos_userbundle:
id: fos_user.user_manager
admin:
pattern: /admin(.*)
context: user
form_login:
provider: fos_userbundle
login_path: /admin/login
use_forward: false
check_path: /admin/login_check
failure_path: null
logout:
path: /admin/logout
anonymous: true
services.ymlは:
pozsonyba.calendar_bundle.admin.calendar:
class: Pozsonyba\Bundle\CalendarBundle\Admin\CalendarAdmin
arguments: [~, Pozsonyba\Bundle\CalendarBundle\Entity\Calendar, SonataAdminBundle:CRUD, @security.token_storage, @pozsonyba_organization.repository.organization_repository]
tags:
- {name: sonata.admin, manager_type: orm, group: admin, label: Calendar}
私はこのsecurity.ymlファイルはファイアウォールは何かが欠けていることを、私は何を把握することはできません、間違って設定されている可能性があることを読みました。
ありがとうございました。 CalendarAdmin.php:
public function __construct($code, $class, $baseControllerName, TokenStorage $tokenStorage, OrganizationRepository $organizationRepository)
{
parent::__construct($code, $class, $baseControllerName);
VarDumper::dump($tokenStorage->getToken());die;
$this->organizationRepository = $organizationRepository;
}
は、あなたに感謝:) –