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