新增AuthenticationUtil,获取当前登录用户名
diff --git a/samples/security/src/main/java/com/supwisdom/leaveschool/app/controller/web/admin/WebAdminUserController.java b/samples/security/src/main/java/com/supwisdom/leaveschool/app/controller/web/admin/WebAdminUserController.java
index 0dedae4..3e88ead 100644
--- a/samples/security/src/main/java/com/supwisdom/leaveschool/app/controller/web/admin/WebAdminUserController.java
+++ b/samples/security/src/main/java/com/supwisdom/leaveschool/app/controller/web/admin/WebAdminUserController.java
@@ -3,12 +3,17 @@
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
+import com.supwisdom.leaveschool.app.util.AuthenticationUtil;
+
@Controller
@RequestMapping("/web/admin/user")
public class WebAdminUserController {
@RequestMapping("/index")
public String userIndex() {
+
+ AuthenticationUtil.currentUsername();
+
return "web/admin/user/index";
}
diff --git a/samples/security/src/main/java/com/supwisdom/leaveschool/app/util/AuthenticationUtil.java b/samples/security/src/main/java/com/supwisdom/leaveschool/app/util/AuthenticationUtil.java
new file mode 100644
index 0000000..adc1cfd
--- /dev/null
+++ b/samples/security/src/main/java/com/supwisdom/leaveschool/app/util/AuthenticationUtil.java
@@ -0,0 +1,44 @@
+package com.supwisdom.leaveschool.app.util;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.context.SecurityContextHolder;
+
+import com.supwisdom.leaveschool.app.security.core.userdetails.MyUser;
+
+public class AuthenticationUtil {
+
+ private static final Logger logger = LoggerFactory.getLogger(AuthenticationUtil.class);
+
+ public static String currentUsername() {
+
+ Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
+
+ if (authentication == null) {
+ logger.error("authentication is null");
+ return null;
+ }
+
+ logger.debug("authentication is {}", authentication.getPrincipal());
+
+ if (!authentication.isAuthenticated()) {
+ logger.error("authentication is not authenticated");
+ return null;
+ }
+
+ if (authentication.getPrincipal() == null) {
+ logger.error("authentication's principal is null");
+ return null;
+ }
+
+ logger.debug("authentication's principal is {}", authentication.getPrincipal());
+
+ if (authentication.getPrincipal() instanceof MyUser) {
+ return ((MyUser) authentication.getPrincipal()).getUsername();
+ }
+
+ return null;
+ }
+
+}