1

私は symfony2.1 で Web サイトを開発しています。その要件の 1 つは、ユーザー名にアカウントが関連付けられていることです。そのため、ログイン フォームで、アカウント、ユーザー名、およびパスワードの 3 つのフィールドを要求します。

私はすでにフォームを変更していますが、新しいフィールド (アカウント) を考慮して login_check を変更する必要がありますが、私が見つけた唯一のドキュメントでは、ユーザー名が常に一意であると想定していますが、私の場合はユーザー名を繰り返すことができます:

アカウント: companya ユーザー名: admin

アカウント: companyb ユーザー名: 管理者

#security.yml
form_login:
    check_path: /user/login_check
    login_path: /user/login

これを実装する方法はありますか?


アップデート:

このフォーラムの投稿で答えを見つけました。新しいフィールドを処理するには、AbstractAuthenticationListener と新しいトークンも実装する必要があります。

4

1 に答える 1

1

フレームワークが提供する「標準的な方法」では対応できない要件がある場合は、次の 2 つの方法があります。

  1. 独自に行う: セキュリティ コンポーネントのビルドをスキップし、独自に何かを実装します。最後に、いつでも「通常の」フォームを作成し、自分でロジックをコーディングしてから、セッションまたは Cookie を設定できます。
  2. セキュリティ コンポーネントを変更します。それがどのように機能するかを理解してから、 User ProvidersAuthentication Providersを掘り下げる必要があります。docs の Security セクションにあるクックブックをご覧ください。

「正しくやりたい」場合は2番、仕事をやりたいだけなら1番です。

于 2013-02-05T08:39:35.777 に答える