我有一个提供REST接口的Symfony应用程序。当客户端请求URL时,资源会验证URL中的用户名/密码,然后提供访问权限。但是,验证URL的控制器位于另一个包中,称为validateCredentialsAction
。
如何从另一个捆绑包中的另一个控制器调用此validateCredentialsAction
?
答案 0 :(得分:3)
您可以根据http://symfony.com/doc/master/cookbook/controller/service.html将身份验证控制器定义为服务,然后将其注入其他控制器。
然而,这可能会出现问题,因为控制器操作应该返回一个Response对象,而不是一个布尔值,表明身份验证成功。
因此,最好重构代码并将身份验证部分提取到仅提供身份验证且无控制器功能的商务服务中,然后将此服务注入到两个控制器中。