From 4e38d0e6db21688388bf1b1a0a1ae529c05b77e7 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期四, 18 四月 2024 14:38:20 +0800
Subject: [PATCH] 提交更新测试

---
 hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/entity/LoginUser.java |   94 +++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 94 insertions(+), 0 deletions(-)

diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/entity/LoginUser.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/entity/LoginUser.java
new file mode 100644
index 0000000..d60a05f
--- /dev/null
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/entity/LoginUser.java
@@ -0,0 +1,94 @@
+package com.mes.userinfo.entity;
+
+import com.alibaba.fastjson.annotation.JSONField;
+import org.springframework.security.core.GrantedAuthority;
+import org.springframework.security.core.authority.SimpleGrantedAuthority;
+import org.springframework.security.core.userdetails.UserDetails;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/4/11 15:46
+ * @Description:
+ */
+public class LoginUser implements UserDetails {
+
+
+    private SysUser user;
+
+    /**
+     * 瀛樺偍鏉冮檺淇℃伅
+     */
+    @JSONField(serialize = false)
+    private List<String> permissions;
+
+    /**
+     * 瀛樺偍SpringSecurity璋冪敤getAuthorities()鏂规硶鑾峰彇鐨勬潈闄愪俊鎭殑闆嗗悎
+     */
+    @JSONField(serialize = false)
+    private List<GrantedAuthority> authorities;
+
+
+    public LoginUser() {
+    }
+
+    public LoginUser(SysUser user, List<String> permissions) {
+        this.user = user;
+        this.permissions = permissions;
+    }
+
+    public SysUser getUser() {
+        return user;
+    }
+
+    public void setUser(SysUser user) {
+        this.user = user;
+    }
+
+    @Override
+    public Collection<? extends GrantedAuthority> getAuthorities() {
+
+        // 浼樺寲涓哄彧闇�瑕佺涓�娆¤幏鍙栫殑鏃跺�欒繘琛岄亶鍘嗭紝鍚庨潰鍐嶇敤灏变細浠巃uthorities杩欎釜鎴愬憳鍙橀噺涓幏鍙栦簡锛屼笉浼氬啀杩涜Stream寰幆閬嶅巻浜�
+        if (authorities != null) {
+            return authorities;
+        }
+        //鎶妏ermissions涓瓧绗︿覆绫诲瀷鐨勬潈闄愪俊鎭浆鎹㈡垚GrantedAuthority瀵硅薄瀛樺叆authorities涓�
+        authorities = permissions.stream().
+                map(SimpleGrantedAuthority::new)
+                .collect(Collectors.toList());
+        return authorities;
+    }
+
+    @Override
+    public String getPassword() {
+        return user.getPassword();
+    }
+
+    @Override
+    public String getUsername() {
+        return user.getUserName();
+    }
+
+    @Override
+    public boolean isAccountNonExpired() {
+        return true;
+    }
+
+    @Override
+    public boolean isAccountNonLocked() {
+        return true;
+    }
+
+    @Override
+    public boolean isCredentialsNonExpired() {
+        return true;
+    }
+
+    @Override
+    public boolean isEnabled() {
+        return true;
+    }
+}

--
Gitblit v1.8.0