我的角色类似于SEND_SMS_100
,SEND_SMS_200
或更多SEND_SMS_X
,其中X
是整数。这是用户一个月内可以发送的最小小文本消息数。用户应该具有此角色的最大值。我正在寻找:
ensure SEND_SMS_X
被授予X
整数AFAIK这不支持基于正则表达式的搜索:
$this->get('security.context')->isGranted($roleName);
答案 0 :(得分:5)
我认为这是糟糕的设计 - 这不应该是由角色控制的东西。
您的用户实体可能应该有一个$ smsPerMonth属性,因此您可以调用getSmsPerMonth()而不是使用许多不同的角色来确定用户可以发送多少条SMS消息。