2016-12-20 2 views
0

Я пытаюсь переопределить методы Stormpath RequestEventListenerAdapter, чтобы заполнить Custom Data учетной записи, когда пользователь входит в систему или создает учетную запись.Переопределение метода RequestEventListenerAdapter в Spring Boot (Stormpath)

Я создал класс, который расширяет RequestEventListenerAdapter и пытаюсь переопределить на SuccessfulAuthenticationRequestEvent и на LogoutRequestEvent, чтобы сделать несколько простых выходов на консоль, чтобы проверить, если они работают (просто «Привет, мир!», Например). Но когда я выполняю любое из этих действий в приложении, ни одно из этих событий не запускается. Поэтому мне было интересно, может ли кто-нибудь здесь помочь мне, я не уверен, что bean, который я должен объявить, находится в нужном месте или если мне не хватает какой-либо конфигурации для событий, которые будут запускаться. Спасибо за любую помощь и дайте мне знать, нужна ли дополнительная информация.

Это мой пользовательский класс:

import com.stormpath.sdk.servlet.authc.LogoutRequestEvent; 
import com.stormpath.sdk.servlet.authc.SuccessfulAuthenticationRequestEvent; 
import com.stormpath.sdk.servlet.event.RequestEventListenerAdapter; 

public class CustomRequestEventListener extends RequestEventListenerAdapter { 

@Override 
public void on(SuccessfulAuthenticationRequestEvent e) { 
    System.out.println("Received successful authentication request event: {}\n" + e); 
} 

@Override 
public void on(LogoutRequestEvent e) { 
    System.out.println("Received logout request event: {}\n" + e); 
} 
} 

Это боба, что я не уверен, где разместить:

@Bean 
public RequestEventListener stormpathRequestEventListener() { 
    return new CustomRequestEventListener(); 
} 
+0

Вы должны быть в состоянии поставить '@ Bean' в любой класс, помеченный' @ Configuration'. Даже основной класс Spring Boot, который аннотируется с помощью '@ SpringBootApplication'. –

+0

Да В настоящее время у меня есть '@ Bean' в основном классе (' @ SpringBootApplication'), просто не был уверен, что он должен был отправиться куда-то еще. – Tuco

ответ

2

Что вы делаете выглядит точно. Я создал a sample project, демонстрируя, как заставить все работать. Вы можете взглянуть на него (это очень просто) и сравнить его с тем, что у вас есть.

Я также добавил инструкции о том, как его запустить, чтобы вы могли видеть, что он действительно работает.

+0

Удивительный! Я проверю это и вернусь к вам. – Tuco

+0

Да, все на моей стороне, похоже, одно и то же, но все равно не выводится из прослушивателя событий, потому что я использую Social Loin вместо обычного входа? Я также пытаюсь с событием выхода из системы, и он не работает:/ – Tuco

+0

В приведенном выше примере я попробовал как с Facebook, так и с Google, а также с событиями, которые были получены правильно. Возможно ли вам поделиться соответствующими частями проекта? Если это так, вы можете создать для нас билет здесь. Https://support.stormpath.com/hc/en-us/requests/new – mario