JMSSecurityExtraBundle嵌套的AND / OR表达式

时间:2016-06-28 16:48:07

标签: symfony annotations

我有@PreAuthorize注释:

@PreAuthorize("(hasRole('PERM_EDIT_ALL_CAMPAIGNS') or (has_role('PERM_EDIT_OWN_CAMPAIGNS') and isCampaignAccountManager(#id))) and (hasRole('PERM_EDIT_ALL_PUBLISHERS') or (has_role('PERM_EDIT_OWN_PUBLISHERS') and isAffiliateAccountManager(#paramFetcher.get('affiliate_id'))))")

我收到以下错误:

  

预期的主表达式,但在位置上得到了类型为T_NONE的\ u0022    40(基于0)

因此,错误似乎在括号从此处开始后出现:

  

(has_role(' PERM_EDIT_OWN_CAMPAIGNS')和isCampaignAccountManager(#id)))

有没有办法在和/或表达式中添加括号?

提前致谢

1 个答案:

答案 0 :(得分:0)

OMG !!对不起,我在写完问题后才意识到。我使用'has_role'代替'hasRole':(