RESTインターフェースを提供するSymfonyアプリケーションがあります。クライアントがURLを要求すると、リソースはURL内のユーザー名/パスワードを検証してから、アクセスを提供します。ただし、URLを検証するコントローラーは別のバンドルに含まれており、と呼ばれvalidateCredentialsAction
ます。
validateCredentialsAction
別のバンドルの別のコントローラーからこれを呼び出すにはどうすればよいですか?
http://symfony.com/doc/master/cookbook/controller/service.htmlに従って認証コントローラーをサービスとして定義し、それを他のコントローラーに注入することができます。
ただし、これは問題になる可能性があります。これは、コントローラーアクションが、認証が成功したかどうかを示すブール値ではなく、Responseオブジェクトを返す必要があるためです。
したがって、コードをリファクタリングし、認証部分を認証のみを提供し、コントローラー機能を提供しないビジネスサービスに抽出してから、このサービスを両方のコントローラーに注入することをお勧めします。