簡體   English   中英

Symfony2 ROLE_ADMIN用於某些IP的請求

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM