From c5bf52b8ab070cbcdab2b1da3bf40edb11f41988 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=B7=E5=86=B7?= Date: Mon, 8 Oct 2018 15:18:04 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E6=B7=BB=E5=8A=A0=E6=96=B0?= =?UTF-8?q?=E7=89=B9=E6=80=A7=E3=80=82=E7=99=BB=E5=BD=95=E6=88=90=E5=8A=9F?= =?UTF-8?q?=E3=80=81=E5=A4=B1=E8=B4=A5=20=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PigxAuthenticationFailureEvenHandler.java | 45 ++++++++++++++++ ...PigxAuthenticationSuccessEventHandler.java | 44 +++++++++++++++ .../AuthenticationFailureEvenHandler.java | 53 +++++++++++++++++++ .../AuthenticationSuccessEventHandler.java | 49 +++++++++++++++++ 4 files changed, 191 insertions(+) create mode 100644 pigx-auth/src/main/java/com/pig4cloud/pigx/auth/handle/PigxAuthenticationFailureEvenHandler.java create mode 100644 pigx-auth/src/main/java/com/pig4cloud/pigx/auth/handle/PigxAuthenticationSuccessEventHandler.java create mode 100644 pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/handle/AuthenticationFailureEvenHandler.java create mode 100644 pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/handle/AuthenticationSuccessEventHandler.java diff --git a/pigx-auth/src/main/java/com/pig4cloud/pigx/auth/handle/PigxAuthenticationFailureEvenHandler.java b/pigx-auth/src/main/java/com/pig4cloud/pigx/auth/handle/PigxAuthenticationFailureEvenHandler.java new file mode 100644 index 000000000..f1c2c694e --- /dev/null +++ b/pigx-auth/src/main/java/com/pig4cloud/pigx/auth/handle/PigxAuthenticationFailureEvenHandler.java @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2018-2025, lengleng All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the pig4cloud.com developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: lengleng (wangiegie@gmail.com) + */ + +package com.pig4cloud.pigx.auth.handle; + +import com.pig4cloud.pigx.common.security.handle.AuthenticationFailureEvenHandler; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.AuthenticationException; +import org.springframework.stereotype.Component; + +/** + * @author lengleng + * @date 2018/10/8 + */ +@Slf4j +@Component +public class PigxAuthenticationFailureEvenHandler extends AuthenticationFailureEvenHandler { + + /** + * 处理登录成功方法 + *

+ * + * @param authenticationException 登录的authentication 对象 + * @param authentication 登录的authenticationException 对象 + */ + @Override + public void handle(AuthenticationException authenticationException, Authentication authentication) { + log.info("用户:{} 登录失败,异常:{}", authentication.getPrincipal(), authenticationException.getLocalizedMessage()); + } +} diff --git a/pigx-auth/src/main/java/com/pig4cloud/pigx/auth/handle/PigxAuthenticationSuccessEventHandler.java b/pigx-auth/src/main/java/com/pig4cloud/pigx/auth/handle/PigxAuthenticationSuccessEventHandler.java new file mode 100644 index 000000000..78ffbcb82 --- /dev/null +++ b/pigx-auth/src/main/java/com/pig4cloud/pigx/auth/handle/PigxAuthenticationSuccessEventHandler.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2018-2025, lengleng All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the pig4cloud.com developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: lengleng (wangiegie@gmail.com) + */ + +package com.pig4cloud.pigx.auth.handle; + +import com.pig4cloud.pigx.common.security.handle.AuthenticationSuccessEventHandler; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.core.Authentication; +import org.springframework.stereotype.Component; + +/** + * @author lengleng + * @date 2018/10/8 + */ +@Slf4j +@Component +public class PigxAuthenticationSuccessEventHandler extends AuthenticationSuccessEventHandler { + + /** + * 处理登录成功方法 + *

+ * 获取到登录的authentication 对象 + * + * @param authentication 登录对象 + */ + @Override + public void handle(Authentication authentication) { + log.info("用户:{} 登录成功", authentication.getPrincipal()); + } +} diff --git a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/handle/AuthenticationFailureEvenHandler.java b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/handle/AuthenticationFailureEvenHandler.java new file mode 100644 index 000000000..b051c64f0 --- /dev/null +++ b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/handle/AuthenticationFailureEvenHandler.java @@ -0,0 +1,53 @@ +/* + * Copyright (c) 2018-2025, lengleng All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the pig4cloud.com developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: lengleng (wangiegie@gmail.com) + */ + +package com.pig4cloud.pigx.common.security.handle; + +import org.springframework.context.ApplicationListener; +import org.springframework.security.authentication.event.AbstractAuthenticationFailureEvent; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.AuthenticationException; + +/** + * @author lengleng + * @date 2018/10/8 + * 认证失败事件处理器 + */ +public abstract class AuthenticationFailureEvenHandler implements ApplicationListener { + + /** + * Handle an application event. + * + * @param event the event to respond to + */ + @Override + public void onApplicationEvent(AbstractAuthenticationFailureEvent event) { + AuthenticationException authenticationException = event.getException(); + Authentication authentication = (Authentication) event.getSource(); + + handle(authenticationException, authentication); + } + + /** + * 处理登录成功方法 + *

+ * + * @param authenticationException 登录的authentication 对象 + * @param authentication 登录的authenticationException 对象 + */ + public abstract void handle(AuthenticationException authenticationException, Authentication authentication); +} diff --git a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/handle/AuthenticationSuccessEventHandler.java b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/handle/AuthenticationSuccessEventHandler.java new file mode 100644 index 000000000..b66659c30 --- /dev/null +++ b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/handle/AuthenticationSuccessEventHandler.java @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2018-2025, lengleng All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * Neither the name of the pig4cloud.com developer nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * Author: lengleng (wangiegie@gmail.com) + */ + +package com.pig4cloud.pigx.common.security.handle; + +import org.springframework.context.ApplicationListener; +import org.springframework.security.authentication.event.AuthenticationSuccessEvent; +import org.springframework.security.core.Authentication; + +/** + * @author lengleng + * @date 2018/10/8 + * 认证成功事件处理器 + */ +public abstract class AuthenticationSuccessEventHandler implements ApplicationListener { + /** + * Handle an application event. + * + * @param event the event to respond to + */ + @Override + public void onApplicationEvent(AuthenticationSuccessEvent event) { + Authentication authentication = (Authentication) event.getSource(); + handle(authentication); + } + + /** + * 处理登录成功方法 + *

+ * 获取到登录的authentication 对象 + * + * @param authentication 登录对象 + */ + public abstract void handle(Authentication authentication); +}