增加了mongo用户登录模块

This commit is contained in:
wanggeng 2022-05-20 11:38:51 +08:00
parent fd75dbef6c
commit 625155dfd9

View File

@ -159,33 +159,58 @@ public class LoginUser implements UserDetails, CredentialsContainer {
return this.username.hashCode();
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(super.toString()).append(": ");
sb.append("Username: ").append(this.username).append("; ");
sb.append("Password: [PROTECTED]; ");
sb.append("Enabled: ").append(this.enabled).append("; ");
sb.append("AccountNonExpired: ").append(this.accountNonExpired).append("; ");
sb.append("credentialsNonExpired: ").append(this.credentialsNonExpired).append("; ");
sb.append("AccountNonLocked: ").append(this.accountNonLocked).append("; ");
if (!this.authorities.isEmpty()) {
sb.append("Granted Authorities: ");
boolean first = true;
Iterator var3 = this.authorities.iterator();
while (var3.hasNext()) {
GrantedAuthority auth = (GrantedAuthority) var3.next();
if (!first) {
sb.append(",");
}
first = false;
sb.append(auth);
}
} else {
sb.append("Not granted any authorities");
}
final StringBuilder sb = new StringBuilder("{");
sb.append("\"password\":\"")
.append(password).append('\"');
sb.append(",\"username\":\"")
.append(username).append('\"');
sb.append(",\"accountNonExpired\":")
.append(accountNonExpired);
sb.append(",\"accountNonLocked\":")
.append(accountNonLocked);
sb.append(",\"credentialsNonExpired\":")
.append(credentialsNonExpired);
sb.append(",\"authorities\":")
.append(authorities);
sb.append(",\"enabled\":")
.append(enabled);
sb.append(",\"userId\":\"")
.append(userId).append('\"');
sb.append(",\"userName\":\"")
.append(userName).append('\"');
sb.append(",\"userPhone\":\"")
.append(userPhone).append('\"');
sb.append(",\"userAvatar\":\"")
.append(userAvatar).append('\"');
sb.append(",\"userEmail\":\"")
.append(userEmail).append('\"');
sb.append(",\"userState\":")
.append(userState);
sb.append(",\"userType\":")
.append(userType);
sb.append(",\"userUKey\":\"")
.append(userUKey).append('\"');
sb.append(",\"loginType\":")
.append(loginType);
sb.append(",\"dataRight\":\"")
.append(dataRight).append('\"');
sb.append(",\"baseDepartmentIds\":")
.append(baseDepartmentIds);
sb.append(",\"dataRightUserIds\":")
.append(dataRightUserIds);
sb.append(",\"roles\":")
.append(roles);
sb.append(",\"groups\":")
.append(groups);
sb.append(",\"departments\":")
.append(departments);
sb.append(",\"positions\":")
.append(positions);
sb.append(",\"expandData\":")
.append(expandData);
sb.append('}');
return sb.toString();
}
@ -201,104 +226,6 @@ public class LoginUser implements UserDetails, CredentialsContainer {
return withUsername(userDetails.getUsername()).password(userDetails.getPassword()).accountExpired(!userDetails.isAccountNonExpired()).accountLocked(!userDetails.isAccountNonLocked()).authorities(userDetails.getAuthorities()).credentialsExpired(!userDetails.isCredentialsNonExpired()).disabled(!userDetails.isEnabled());
}
public static class UserBuilder {
private String username;
private String password;
private List<GrantedAuthority> authorities;
private boolean accountExpired;
private boolean accountLocked;
private boolean credentialsExpired;
private boolean disabled;
private Function<String, String> passwordEncoder;
private UserBuilder() {
this.passwordEncoder = (password) -> {
return password;
};
}
public LoginUser.UserBuilder username(String username) {
this.username = username;
return this;
}
public LoginUser.UserBuilder password(String password) {
this.password = password;
return this;
}
public LoginUser.UserBuilder passwordEncoder(Function<String, String> encoder) {
this.passwordEncoder = encoder;
return this;
}
public LoginUser.UserBuilder roles(String... roles) {
List<GrantedAuthority> authorities = new ArrayList(roles.length);
String[] var3 = roles;
int var4 = roles.length;
for (int var5 = 0; var5 < var4; ++var5) {
String role = var3[var5];
authorities.add(new SimpleGrantedAuthority("ROLE_" + role));
}
return this.authorities((Collection) authorities);
}
public LoginUser.UserBuilder authorities(GrantedAuthority... authorities) {
return this.authorities((Collection) Arrays.asList(authorities));
}
public LoginUser.UserBuilder authorities(Collection<? extends GrantedAuthority> authorities) {
this.authorities = new ArrayList(authorities);
return this;
}
public LoginUser.UserBuilder authorities(String... authorities) {
return this.authorities((Collection) AuthorityUtils.createAuthorityList(authorities));
}
public LoginUser.UserBuilder accountExpired(boolean accountExpired) {
this.accountExpired = accountExpired;
return this;
}
public LoginUser.UserBuilder accountLocked(boolean accountLocked) {
this.accountLocked = accountLocked;
return this;
}
public LoginUser.UserBuilder credentialsExpired(boolean credentialsExpired) {
this.credentialsExpired = credentialsExpired;
return this;
}
public LoginUser.UserBuilder disabled(boolean disabled) {
this.disabled = disabled;
return this;
}
public UserDetails build() {
String encodedPassword = (String) this.passwordEncoder.apply(this.password);
return new User(this.username, encodedPassword, !this.disabled, !this.accountExpired, !this.credentialsExpired, !this.accountLocked, this.authorities);
}
}
private static class AuthorityComparator implements Comparator<GrantedAuthority>, Serializable {
private static final long serialVersionUID = 510L;
private AuthorityComparator() {
}
public int compare(GrantedAuthority g1, GrantedAuthority g2) {
if (g2.getAuthority() == null) {
return -1;
} else {
return g1.getAuthority() == null ? 1 : g1.getAuthority().compareTo(g2.getAuthority());
}
}
}
public String getUserId() {
return userId == null ? "" : userId.trim();
}
@ -436,4 +363,102 @@ public class LoginUser implements UserDetails, CredentialsContainer {
this.expandData = expandData;
}
public static class UserBuilder {
private String username;
private String password;
private List<GrantedAuthority> authorities;
private boolean accountExpired;
private boolean accountLocked;
private boolean credentialsExpired;
private boolean disabled;
private Function<String, String> passwordEncoder;
private UserBuilder() {
this.passwordEncoder = (password) -> {
return password;
};
}
public LoginUser.UserBuilder username(String username) {
this.username = username;
return this;
}
public LoginUser.UserBuilder password(String password) {
this.password = password;
return this;
}
public LoginUser.UserBuilder passwordEncoder(Function<String, String> encoder) {
this.passwordEncoder = encoder;
return this;
}
public LoginUser.UserBuilder roles(String... roles) {
List<GrantedAuthority> authorities = new ArrayList(roles.length);
String[] var3 = roles;
int var4 = roles.length;
for (int var5 = 0; var5 < var4; ++var5) {
String role = var3[var5];
authorities.add(new SimpleGrantedAuthority("ROLE_" + role));
}
return this.authorities((Collection) authorities);
}
public LoginUser.UserBuilder authorities(GrantedAuthority... authorities) {
return this.authorities((Collection) Arrays.asList(authorities));
}
public LoginUser.UserBuilder authorities(Collection<? extends GrantedAuthority> authorities) {
this.authorities = new ArrayList(authorities);
return this;
}
public LoginUser.UserBuilder authorities(String... authorities) {
return this.authorities((Collection) AuthorityUtils.createAuthorityList(authorities));
}
public LoginUser.UserBuilder accountExpired(boolean accountExpired) {
this.accountExpired = accountExpired;
return this;
}
public LoginUser.UserBuilder accountLocked(boolean accountLocked) {
this.accountLocked = accountLocked;
return this;
}
public LoginUser.UserBuilder credentialsExpired(boolean credentialsExpired) {
this.credentialsExpired = credentialsExpired;
return this;
}
public LoginUser.UserBuilder disabled(boolean disabled) {
this.disabled = disabled;
return this;
}
public UserDetails build() {
String encodedPassword = (String) this.passwordEncoder.apply(this.password);
return new User(this.username, encodedPassword, !this.disabled, !this.accountExpired, !this.credentialsExpired, !this.accountLocked, this.authorities);
}
}
private static class AuthorityComparator implements Comparator<GrantedAuthority>, Serializable {
private static final long serialVersionUID = 510L;
private AuthorityComparator() {
}
public int compare(GrantedAuthority g1, GrantedAuthority g2) {
if (g2.getAuthority() == null) {
return -1;
} else {
return g1.getAuthority() == null ? 1 : g1.getAuthority().compareTo(g2.getAuthority());
}
}
}
}