| New file |
| | |
| | | package com.genersoft.iot.vmp.conf.security.dto; |
| | | |
| | | import com.genersoft.iot.vmp.storager.dao.dto.Role; |
| | | import com.genersoft.iot.vmp.storager.dao.dto.User; |
| | | import org.springframework.security.core.CredentialsContainer; |
| | | import org.springframework.security.core.GrantedAuthority; |
| | | import org.springframework.security.core.SpringSecurityCoreVersion; |
| | | import org.springframework.security.core.userdetails.UserDetails; |
| | | |
| | | import java.time.LocalDateTime; |
| | | import java.util.Collection; |
| | | |
| | | public class LoginUser implements UserDetails, CredentialsContainer { |
| | | |
| | | private static final long serialVersionUID = SpringSecurityCoreVersion.SERIAL_VERSION_UID; |
| | | |
| | | /** |
| | | * 用户 |
| | | */ |
| | | private User user; |
| | | |
| | | |
| | | /** |
| | | * 登录时间 |
| | | */ |
| | | private LocalDateTime loginTime; |
| | | |
| | | public LoginUser(User user, LocalDateTime loginTime) { |
| | | this.user = user; |
| | | this.loginTime = loginTime; |
| | | } |
| | | |
| | | |
| | | @Override |
| | | public Collection<? extends GrantedAuthority> getAuthorities() { |
| | | return null; |
| | | } |
| | | |
| | | @Override |
| | | public String getPassword() { |
| | | return user.getPassword(); |
| | | } |
| | | |
| | | @Override |
| | | public String getUsername() { |
| | | return user.getUsername(); |
| | | } |
| | | |
| | | /** |
| | | * 账户是否未过期,过期无法验证 |
| | | */ |
| | | @Override |
| | | public boolean isAccountNonExpired() { |
| | | return true; |
| | | } |
| | | |
| | | /** |
| | | * 指定用户是否解锁,锁定的用户无法进行身份验证 |
| | | * <p> |
| | | * 密码锁定 |
| | | * </p> |
| | | */ |
| | | @Override |
| | | public boolean isAccountNonLocked() { |
| | | return true; |
| | | } |
| | | |
| | | /** |
| | | * 指示是否已过期的用户的凭据(密码),过期的凭据防止认证 |
| | | */ |
| | | @Override |
| | | public boolean isCredentialsNonExpired() { |
| | | return true; |
| | | } |
| | | |
| | | /** |
| | | * 用户是否被启用或禁用。禁用的用户无法进行身份验证。 |
| | | */ |
| | | @Override |
| | | public boolean isEnabled() { |
| | | return true; |
| | | } |
| | | |
| | | /** |
| | | * 认证完成后,擦除密码 |
| | | */ |
| | | @Override |
| | | public void eraseCredentials() { |
| | | user.setPassword(null); |
| | | } |
| | | |
| | | |
| | | public int getId() { |
| | | return user.getId(); |
| | | } |
| | | |
| | | public Role getRole() { |
| | | return user.getRole(); |
| | | } |
| | | |
| | | |
| | | } |