проблема с переопределением аутологина в весенней безопасности? - PullRequest
0 голосов
/ 02 апреля 2010

привет всем я использую Spring Security 3 запомнить меня службы следующим образом

<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");

 }

}

но автологин происходит без каких-либо действий, автоматический вход пользователя, но оператор печати не печатается? что не так?

1 Ответ

2 голосов
/ 02 апреля 2010

Тот факт, что вы назвали свой класс AbstractRememberMeServices, не означает, что любой другой класс, который ранее расширялся, теперь расширяет ваш com.foo.AbstractRememberMeServices. Я не хочу быть невежливым, но вам нужно проверить свои знания основ Java.

Что касается вашего вопроса, вам нужно написать собственную реализацию org.springframework.security.web.authentication.RememberMeService, настроить ее в Spring и зарегистрировать, используя атрибут services-ref:

<security:remember-me services-ref="myRememberMeServices"/>
...