0

RESTインターフェースを提供するSymfonyアプリケーションがあります。クライアントがURLを要求すると、リソースはURL内のユーザー名/パスワードを検証してから、アクセスを提供します。ただし、URLを検証するコントローラーは別のバンドルに含まれており、と呼ばれvalidateCredentialsActionます。

validateCredentialsAction別のバンドルの別のコントローラーからこれを呼び出すにはどうすればよいですか?

4

1 に答える 1

3

http://symfony.com/doc/master/cookbook/controller/service.htmlに従って認証コントローラーをサービスとして定義し、それを他のコントローラーに注入することができます。

ただし、これは問題になる可能性があります。これは、コントローラーアクションが、認証が成功したかどうかを示すブール値ではなく、Responseオブジェクトを返す必要があるためです。

したがって、コードをリファクタリングし、認証部分を認証のみを提供し、コントローラー機能を提供しないビジネスサービスに抽出してから、このサービスを両方のコントローラーに注入することをお勧めします。

于 2012-05-20T20:26:16.100 に答える