[英]Symfony2 ROLE_ADMIN for requests from certain IP
我在symfony2應用程序中使用了安全組件。
我遇到的情況是,我需要為來自某個IP的流量分配ROLE_ADMIN。 我當時正在考慮使用匿名身份驗證,並在稍后通過服務將匿名用戶分配給“ ROLE_ADMIN”角色。 我有種感覺,這是行不通的,因為我可以從安全上下文中獲取用戶,但這只是字符串“ anon”,而不是完整的用戶實體對象。 無法分配角色。
也許有人可以指出我正確的方向?
我有一個解決方案,最初我想將角色ROLE_ADMIN分配給匿名用戶,這是不可能的。 我創建了一個自定義的安全偵聽器+工廠,該工廠可以工作,但是您只需從服務或控制器向安全上下文分配一個新令牌即可。
$token = new \Symfony\Component\Security\Core\Authentication\Token\AnonymousToken('admin', 'admin', array('ROLE_ADMIN'));
$this->get('security.context')->setToken($token);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.