0

皆さん、こんにちはSpring Security 3のRemember Meサービスを次のように使用しています

<http>
<remember-me/>
....</http>

自動ログインでいくつかのロジックを実行したいので、次のように AbstractRememberMeServices をオーバーライドしようとしました。

package com.foo;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.security.core.Authentication;
import org.springframework.security.web.authentication.RememberMeServices;


public abstract class AbstractRememberMeServices implements RememberMeServices{

 @Override
 public Authentication autoLogin(HttpServletRequest arg0,
   HttpServletResponse arg1) {
  System.out.println("Auto Login");
  return null;
 }

 @Override
 public void loginSuccess(HttpServletRequest arg0, HttpServletResponse arg1,
   Authentication arg2) {
  System.out.println("Login Success");

 }

}

しかし、アクションなしで自動ログインが行われ、ユーザーの自動ログインが行われますが、印刷ステートメントは印刷されませんか? どうしたの?

4

1 に答える 1

2

クラスに名前を付けたという事実AbstractRememberMeServicesは、以前に拡張されていた他のすべてのクラスが現在あなたのcom.foo.AbstractRememberMeServices. 失礼なことを言うつもりはありませんが、Java の基本に関する知識を再確認する必要があります。

質問に関しては、カスタムorg.springframework.security.web.authentication.RememberMeService実装を作成し、Spring で構成し、services-ref属性を使用して登録する必要があります。

<security:remember-me services-ref="myRememberMeServices"/>
于 2010-04-02T18:49:31.620 に答える