2

私の質問はこれに似ています

spring securityログインページで追加パラメータを渡す方法

ただし、Grails Spring Security プラグインに適用されます。login (company name) で追加のフィールドをサポートする必要がある場合、Grails でどのようにすればよいですか?

URLから会社名フィールドを取得します。

例えば。/login?companyname=c1 /login?companyname=c2

同じユーザー名を異なる会社の異なるユーザーが使用できます。したがって、ユーザー名は一意ではありませんが、ユーザー名 + 会社名は一意です。

前もって感謝します。

4

2 に答える 2

0

このカスタムフィルターが出発点だと思います。

AuthenticationTokenおそらく、を使用する代わりに、会社名を保存するためのカスタムが必要になるでしょうUsernamePasswordAuthenticationToken

ユーザー名と会社でユーザーを取得する必要があるため、AuthenticationProviderも必要になります。

フローは次のようになります。

  • Filter はAuthenticationToken、会社フィールドを格納するカスタム を作成します。
  • カスタムAuthenticationProviderはこのトークンを取得し、ユーザー名と会社でユーザーをロードしようとします
  • Spring Security Core がパスワードをチェックします
于 2013-05-23T21:09:28.847 に答える
0

これは良い解決策ではありませんが、ユーザー名と会社名を単一のユーザー名フィールドに結合できます。たとえばoneUser_company1oneUser_company2. その場合、1 人のユーザーに対して複数のアカウントを作成する必要があります。

于 2013-05-23T20:02:12.493 に答える