懒羊羊
2024-01-31 e57a8990ae56f657a59c435a0613c5f7a8728003
提交 | 用户 | 时间
e57a89 1 package com.jcdm.common.core.domain.model;
2
3 import com.alibaba.fastjson2.annotation.JSONField;
4 import com.jcdm.common.core.domain.entity.SysUser;
5 import org.springframework.security.core.GrantedAuthority;
6 import org.springframework.security.core.userdetails.UserDetails;
7 import java.util.Collection;
8 import java.util.Set;
9
10 /**
11  * 登录用户身份权限
12  * 
13  * @author jc
14  */
15 public class LoginUser implements UserDetails
16 {
17     private static final long serialVersionUID = 1L;
18
19     /**
20      * 用户ID
21      */
22     private Long userId;
23
24     /**
25      * 部门ID
26      */
27     private Long deptId;
28
29     /**
30      * 用户唯一标识
31      */
32     private String token;
33
34     /**
35      * 登录时间
36      */
37     private Long loginTime;
38
39     /**
40      * 过期时间
41      */
42     private Long expireTime;
43
44     /**
45      * 登录IP地址
46      */
47     private String ipaddr;
48
49     /**
50      * 登录地点
51      */
52     private String loginLocation;
53
54     /**
55      * 浏览器类型
56      */
57     private String browser;
58
59     /**
60      * 操作系统
61      */
62     private String os;
63
64     /**
65      * 权限列表
66      */
67     private Set<String> permissions;
68
69     /**
70      * 用户信息
71      */
72     private SysUser user;
73
74     public LoginUser()
75     {
76     }
77
78     public LoginUser(SysUser user, Set<String> permissions)
79     {
80         this.user = user;
81         this.permissions = permissions;
82     }
83
84     public LoginUser(Long userId, Long deptId, SysUser user, Set<String> permissions)
85     {
86         this.userId = userId;
87         this.deptId = deptId;
88         this.user = user;
89         this.permissions = permissions;
90     }
91
92     public Long getUserId()
93     {
94         return userId;
95     }
96
97     public void setUserId(Long userId)
98     {
99         this.userId = userId;
100     }
101
102     public Long getDeptId()
103     {
104         return deptId;
105     }
106
107     public void setDeptId(Long deptId)
108     {
109         this.deptId = deptId;
110     }
111
112     public String getToken()
113     {
114         return token;
115     }
116
117     public void setToken(String token)
118     {
119         this.token = token;
120     }
121
122     @JSONField(serialize = false)
123     @Override
124     public String getPassword()
125     {
126         return user.getPassword();
127     }
128
129     @Override
130     public String getUsername()
131     {
132         return user.getUserName();
133     }
134
135     /**
136      * 账户是否未过期,过期无法验证
137      */
138     @JSONField(serialize = false)
139     @Override
140     public boolean isAccountNonExpired()
141     {
142         return true;
143     }
144
145     /**
146      * 指定用户是否解锁,锁定的用户无法进行身份验证
147      * 
148      * @return
149      */
150     @JSONField(serialize = false)
151     @Override
152     public boolean isAccountNonLocked()
153     {
154         return true;
155     }
156
157     /**
158      * 指示是否已过期的用户的凭据(密码),过期的凭据防止认证
159      * 
160      * @return
161      */
162     @JSONField(serialize = false)
163     @Override
164     public boolean isCredentialsNonExpired()
165     {
166         return true;
167     }
168
169     /**
170      * 是否可用 ,禁用的用户不能身份验证
171      * 
172      * @return
173      */
174     @JSONField(serialize = false)
175     @Override
176     public boolean isEnabled()
177     {
178         return true;
179     }
180
181     public Long getLoginTime()
182     {
183         return loginTime;
184     }
185
186     public void setLoginTime(Long loginTime)
187     {
188         this.loginTime = loginTime;
189     }
190
191     public String getIpaddr()
192     {
193         return ipaddr;
194     }
195
196     public void setIpaddr(String ipaddr)
197     {
198         this.ipaddr = ipaddr;
199     }
200
201     public String getLoginLocation()
202     {
203         return loginLocation;
204     }
205
206     public void setLoginLocation(String loginLocation)
207     {
208         this.loginLocation = loginLocation;
209     }
210
211     public String getBrowser()
212     {
213         return browser;
214     }
215
216     public void setBrowser(String browser)
217     {
218         this.browser = browser;
219     }
220
221     public String getOs()
222     {
223         return os;
224     }
225
226     public void setOs(String os)
227     {
228         this.os = os;
229     }
230
231     public Long getExpireTime()
232     {
233         return expireTime;
234     }
235
236     public void setExpireTime(Long expireTime)
237     {
238         this.expireTime = expireTime;
239     }
240
241     public Set<String> getPermissions()
242     {
243         return permissions;
244     }
245
246     public void setPermissions(Set<String> permissions)
247     {
248         this.permissions = permissions;
249     }
250
251     public SysUser getUser()
252     {
253         return user;
254     }
255
256     public void setUser(SysUser user)
257     {
258         this.user = user;
259     }
260
261     @Override
262     public Collection<? extends GrantedAuthority> getAuthorities()
263     {
264         return null;
265     }
266 }