根据Symfony开头,版本3.0 The Symfony\Component\Security\Core\SecurityContext
将被删除。这已经在这里讨论过:Symfony 2 SecurityContext class deprecated
我的symfony报告以下错误:
错误:Symfony \ Component \ Security \ Core \ SecurityContext类是 自2.6版以来已弃用,将在3.0中删除。使用 Symfony的\分量\安全\核心\认证\令牌\存储\ TokenStorage 或Symfony \ Component \ Security \ Core \ Authorization \ AuthorizationChecker 代替。
我正在使用annotations
来管理我在symfony中的安全角色,例如
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security; // Security annotation bundle
/**
* @Route("/account/list", name="Account_list")
* @Security("has_role('ROLE_USER')")
*/
我应该如何切换到非折旧课程?
使用错误结果中列出的任何类:
[语义错误]方法中的注释“@Security” AppBundle \ Controller \ AccountController :: listAction()从来没有 进口。您是否忘记为此添加“使用”声明? 注解?在 /var/www/gra.investmentopportunities.pl/src/AppBundle/Controller/ (正在从中导入 “/var/www/gra.investmentopportunities.pl/app/config/routing.yml”)。
答案 0 :(得分:2)
从the code看,@security.context
似乎已用完v3.0.4
。从那时起@security.token_storage
和@security.authorization_checker
也被注入,如果它们存在,它们将被用来代替@security.context
。
从这些事实中我可以假设使用的是SensioFrameworkExtraBundle
之前的v3.0.5
版本。
如果sensio/framework-extra-bundle: ~3.0
中有composer.json
,那么您可以运行composer.phar update sensio/framework-extra-bundle
,它应该更新并删除弃用警告。