Używam Symfony 3 i utworzyłem niestandardową klasę Voter.Jak używać stałych klas w adnotacjach @Security przy użyciu języka Symfony Expression Language?
Chcę uzyskać do niego dostęp za pomocą znacznika SensioFrameworkExtraBundle@Security
.
To rodzaj prac.
Gdybym nie następujące działa idealnie:
/**
* @Rest\Get("organisation/{id}")
* @Security("is_granted('OrgAdmin', id)")
* @param int $id
* @param Request $request
*
* @return View
*/
public function getOrganisationAction($id, Request $request)
{
Ale nie podoba mi się pomysł wykorzystania magiczne ciągi we wniosku, a ja dużo raczej użyć klasy stały na czeku.
coś takiego:
/**
* @Rest\Get("organisation/{id}")
* @Security("is_granted(AppBundle\OrgRoles::ROLE_ADMIN, id)")
* @param int $id
* @param Request $request
*
* @return View
*/
public function getOrganisationAction($id, Request $request)
{
Ale gdy próbuję że pojawia się następujący komunikat o błędzie:
Unexpected character \"\\\" around position 20 for expression `is_granted(AppBundle\\OrgRoles::ROLE_ADMIN, id)`.
który po Niecytowany, jest następujący:
Unexpected character "\" around position 20 for expression `is_granted(AppBundle\OrgRoles::ROLE_ADMIN, id)`.
Tak Jestem na to zakłopotany.
Czy można to zrobić?
Wszelkie sugestie dotyczące lepszego sposobu na zrobienie tego?
Dzięki. To się udało! Jesteś legendą. – Jayd
Serdecznie zapraszamy @Jayd! Pamiętaj, aby zaakceptować odpowiedź :-) –
Zrobi. Oczekiwanie na timer na SO, aby pozwolić mi zaakceptować odpowiedź. :RE – Jayd