41 lines
1.5 KiB
Java
41 lines
1.5 KiB
Java
package ru.ulstu.user.util;
|
|
|
|
import org.apache.commons.lang3.RandomStringUtils;
|
|
import org.springframework.security.core.Authentication;
|
|
import org.springframework.security.core.context.SecurityContext;
|
|
import org.springframework.security.core.context.SecurityContextHolder;
|
|
import org.springframework.security.core.userdetails.UserDetails;
|
|
import ru.ulstu.configuration.Constants;
|
|
|
|
public class UserUtils {
|
|
private static final int DEF_COUNT = 20;
|
|
|
|
public static String generateActivationKey() {
|
|
return RandomStringUtils.randomNumeric(DEF_COUNT);
|
|
}
|
|
|
|
public static String generateResetKey() {
|
|
return RandomStringUtils.randomNumeric(DEF_COUNT);
|
|
}
|
|
|
|
public static String getCurrentUserLogin() {
|
|
final SecurityContext securityContext = SecurityContextHolder.getContext();
|
|
if (securityContext == null) {
|
|
return null;
|
|
}
|
|
final Authentication authentication = securityContext.getAuthentication();
|
|
if (authentication.getPrincipal() instanceof UserDetails) {
|
|
final UserDetails springSecurityUser = (UserDetails) authentication.getPrincipal();
|
|
return springSecurityUser.getUsername();
|
|
}
|
|
if (authentication.getPrincipal() instanceof String) {
|
|
return (String) authentication.getPrincipal();
|
|
}
|
|
return null;
|
|
}
|
|
|
|
public static String generatePassword() {
|
|
return RandomStringUtils.randomAscii(Constants.MIN_PASSWORD_LENGTH, Constants.MAX_PASSWORD_LENGTH);
|
|
}
|
|
}
|