Spring Securityを使用して、失敗したログインからユーザー名を取得するにはどうすればよいですか?

ケース付き:

Spring Security 3.0.5、Java 1.6、Tomcat 6.0.32を使用しています。.xml構成ファイルには、次のものが含まれています。

<form-login login-page="/index.html" default-target-url="/postSignin.html" always-use-default-target="true"
 authentication-failure-handler-ref="authenticationFailureHandler"/>

そして私たちのauthenticationFailureHandler定義:

<beans:bean id="authenticationFailureHandler" class="org.springframework.security.web.authentication.ExceptionMappingAuthenticationFailureHandler">
   <beans:property name="exceptionMappings">
      <beans:props>
    <beans:prop key="org.springframework.security.authentication.BadCredentialsException">/index.html?authenticationFailure=true</beans:prop>
    </beans:props>
   </beans:property>
</beans:bean>

ジャワ

    @RequestMapping(params={"authenticationFailure=true"}, value ="/index.html")
    public String handleInvalidLogin(HttpServletRequest request) {
       //...  How can I get the username that was used???
       // I've tried:
       Object username = request.getAttribute("SPRING_SECURITY_LAST_USERNAME_KEY");
       Object username = request.getAttribute("SPRING_SECURITY_LAST_USERNAME");  // deprecated
    }

したがってBadCredentialsExceptionsすべてindex.htmlおよびに転送しますIndexControllerではIndexController私が取得したいのですがusername失敗したログイン試行のために使用されたことを。これどうやってするの?

ケース付き:

わかりましたので、答えは非常に単純ですが、私が知る限りでは、あまり議論も文書化もされていません。

ここに私がしなければならなかったすべてがあります(このクラスを作成したところに設定はありません)...

import org.apache.log4j.Logger;
import org.springframework.context.ApplicationListener;
import org.springframework.security.authentication.event.AuthenticationFailureBadCredentialsEvent;
import org.springframework.stereotype.Component;

@Component
public class MyApplicationListener implements ApplicationListener<AuthenticationFailureBadCredentialsEvent> {
    private static final Logger LOG = Logger.getLogger(MyApplicationListener.class);

    @Override
    public void onApplicationEvent(AuthenticationFailureBadCredentialsEvent event) {
        Object userName = event.getAuthentication().getPrincipal();
        Object credentials = event.getAuthentication().getCredentials();
        LOG.debug("Failed login using USERNAME [" + userName + "]");
        LOG.debug("Failed login using PASSWORD [" + credentials + "]");
    }
}

私は春のセキュリティ専門家とはほど遠いので、誰かがこれを読んで、私たちがこのようにしてはいけない理由を知っているか、私がそれについて聞きたいと思うより良い方法を知っています。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Java Spring Securityでログイン認証が失敗した場合にanonymousUserユーザー名を取得するにはどうすればよいですか?

分類Dev

Keycloakを使用したSpring Bootで現在ログインしているユーザーを取得するにはどうすればよいですか?

分類Dev

パスワードを知らなくても、Spring Securityを使用してユーザーとして自動的にログインするにはどうすればよいですか?

分類Dev

Spring Security 3.1で現在のユーザーのログイン名を変更するにはどうすればよいですか?

分類Dev

Spring Securityでユーザー名としてメールを使用するにはどうすればよいですか?

分類Dev

Spring Boot Thymeleafで現在ログインしているユーザーを表示するにはどうすればよいですか?

分類Dev

Spring MVCでユーザーログインを処理するにはどうすればよいですか?

分類Dev

Spring Securityを使用してカスタムログインページを作成するにはどうすればよいですか?

分類Dev

Spring Securityを使用してカスタムログインページを作成するにはどうすればよいですか?

分類Dev

Spring Security 4でログに記録されたユーザーのロールを動的に変更するにはどうすればよいですか?

分類Dev

Spring-Bootの自動構成されたJavaMailSenderで、Jasyptライブラリを使用して暗号化された(ユーザー名/パスワード)プロパティをサポートするにはどうすればよいですか?

分類Dev

ヘッダーで渡されたpingアクセスとユーザー名を使用してSpringセキュリティを使用して事前認証されたLDAPユーザーを認証するにはどうすればよいですか?

分類Dev

Spring Securityがクラスパス上にあるときに、失敗したSpring Bootアクチュエーターのヘルスインジケーターをデバッグするにはどうすればよいですか?

分類Dev

Spring Security ACLを使用して、ユーザーがアクセス許可を持つドメインオブジェクトのリストを取得するにはどうすればよいですか?

分類Dev

Spring MVC-ユーザーが既にSpring Security経由でログインしているかどうかを確認していますか?

分類Dev

2つのドメインでSpring Securityを使用してシングルログインを実行するにはどうすればよいですか?

分類Dev

Spring Securityの使用時に現在ログインしているユーザー名を取得する

分類Dev

Springを使用してユーザーのリストを適切に取得するにはどうすればよいですか?

分類Dev

SpringでCognitoユーザーのグループを取得するにはどうすればよいですか?

分類Dev

Spring JPAを使用してデータベースから限られたレコードを取得するにはどうすればよいですか?

分類Dev

ユーザー名とパスワードが正しいにもかかわらず、Spring Securityログインが失敗する

分類Dev

Spring Security:inMemoryAuthenticationで使用されるユーザー名とパスワードを更新/再読み込みするにはどうすればよいですか?

分類Dev

Spring SecurityでLDAPから追加のユーザー属性を取得するにはどうすればよいですか?

分類Dev

Spring Security-現在ログインしようとしているユーザーのユーザー名を取得する

分類Dev

Spring Securityを使用してRESTfulログインAPIを実行するにはどうすればよいですか?

分類Dev

モデルオブジェクトを使用して、ユーザーがSpring MVCで複数のファイルをダウンロードできるようにするにはどうすればよいですか?

分類Dev

Spring Securityを使用して一部のURLのログインフォームにリダイレクトしないようにするにはどうすればよいですか?

分類Dev

Spring Security 3.2.0.RELEASEを使用して、タグライブラリのない純粋なHTMLであるページでCSRFトークンを取得するにはどうすればよいですか。

分類Dev

Spring RestTemplateを使用して、エラーが発生したときに応答をログに記録するにはどうすればよいですか?

Related 関連記事

  1. 1

    Java Spring Securityでログイン認証が失敗した場合にanonymousUserユーザー名を取得するにはどうすればよいですか?

  2. 2

    Keycloakを使用したSpring Bootで現在ログインしているユーザーを取得するにはどうすればよいですか?

  3. 3

    パスワードを知らなくても、Spring Securityを使用してユーザーとして自動的にログインするにはどうすればよいですか?

  4. 4

    Spring Security 3.1で現在のユーザーのログイン名を変更するにはどうすればよいですか?

  5. 5

    Spring Securityでユーザー名としてメールを使用するにはどうすればよいですか?

  6. 6

    Spring Boot Thymeleafで現在ログインしているユーザーを表示するにはどうすればよいですか?

  7. 7

    Spring MVCでユーザーログインを処理するにはどうすればよいですか?

  8. 8

    Spring Securityを使用してカスタムログインページを作成するにはどうすればよいですか?

  9. 9

    Spring Securityを使用してカスタムログインページを作成するにはどうすればよいですか?

  10. 10

    Spring Security 4でログに記録されたユーザーのロールを動的に変更するにはどうすればよいですか?

  11. 11

    Spring-Bootの自動構成されたJavaMailSenderで、Jasyptライブラリを使用して暗号化された(ユーザー名/パスワード)プロパティをサポートするにはどうすればよいですか?

  12. 12

    ヘッダーで渡されたpingアクセスとユーザー名を使用してSpringセキュリティを使用して事前認証されたLDAPユーザーを認証するにはどうすればよいですか?

  13. 13

    Spring Securityがクラスパス上にあるときに、失敗したSpring Bootアクチュエーターのヘルスインジケーターをデバッグするにはどうすればよいですか?

  14. 14

    Spring Security ACLを使用して、ユーザーがアクセス許可を持つドメインオブジェクトのリストを取得するにはどうすればよいですか?

  15. 15

    Spring MVC-ユーザーが既にSpring Security経由でログインしているかどうかを確認していますか?

  16. 16

    2つのドメインでSpring Securityを使用してシングルログインを実行するにはどうすればよいですか?

  17. 17

    Spring Securityの使用時に現在ログインしているユーザー名を取得する

  18. 18

    Springを使用してユーザーのリストを適切に取得するにはどうすればよいですか?

  19. 19

    SpringでCognitoユーザーのグループを取得するにはどうすればよいですか?

  20. 20

    Spring JPAを使用してデータベースから限られたレコードを取得するにはどうすればよいですか?

  21. 21

    ユーザー名とパスワードが正しいにもかかわらず、Spring Securityログインが失敗する

  22. 22

    Spring Security:inMemoryAuthenticationで使用されるユーザー名とパスワードを更新/再読み込みするにはどうすればよいですか?

  23. 23

    Spring SecurityでLDAPから追加のユーザー属性を取得するにはどうすればよいですか?

  24. 24

    Spring Security-現在ログインしようとしているユーザーのユーザー名を取得する

  25. 25

    Spring Securityを使用してRESTfulログインAPIを実行するにはどうすればよいですか?

  26. 26

    モデルオブジェクトを使用して、ユーザーがSpring MVCで複数のファイルをダウンロードできるようにするにはどうすればよいですか?

  27. 27

    Spring Securityを使用して一部のURLのログインフォームにリダイレクトしないようにするにはどうすればよいですか?

  28. 28

    Spring Security 3.2.0.RELEASEを使用して、タグライブラリのない純粋なHTMLであるページでCSRFトークンを取得するにはどうすればよいですか。

  29. 29

    Spring RestTemplateを使用して、エラーが発生したときに応答をログに記録するにはどうすればよいですか?

ホットタグ

アーカイブ