Added option for case-insensitive username
This commit is contained in:
parent
289a5f5feb
commit
0a07e2d226
@ -99,6 +99,8 @@ security:
|
||||
tokenSigningKey: "${JWT_TOKEN_SIGNING_KEY:thingsboardDefaultSigningKey}"
|
||||
# Enable/disable access to Tenant Administrators JWT token by System Administrator or Customer Users JWT token by Tenant Administrator
|
||||
user_token_access_enabled: "${SECURITY_USER_TOKEN_ACCESS_ENABLED:true}"
|
||||
# Enable/disable case-sensitive username login
|
||||
user_login_case_sensitive: "${SECURITY_USER_LOGIN_CASE_SENSITIVE:true}"
|
||||
|
||||
# Dashboard parameters
|
||||
dashboard:
|
||||
|
||||
@ -20,6 +20,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.RandomStringUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.thingsboard.server.common.data.Customer;
|
||||
import org.thingsboard.server.common.data.Tenant;
|
||||
@ -54,6 +55,9 @@ public class UserServiceImpl extends AbstractEntityService implements UserServic
|
||||
public static final String INCORRECT_USER_ID = "Incorrect userId ";
|
||||
public static final String INCORRECT_TENANT_ID = "Incorrect tenantId ";
|
||||
|
||||
@Value("${security.user_login_case_sensitive}")
|
||||
private boolean userLoginCaseSensitive;
|
||||
|
||||
@Autowired
|
||||
private UserDao userDao;
|
||||
|
||||
@ -70,7 +74,11 @@ public class UserServiceImpl extends AbstractEntityService implements UserServic
|
||||
public User findUserByEmail(TenantId tenantId, String email) {
|
||||
log.trace("Executing findUserByEmail [{}]", email);
|
||||
validateString(email, "Incorrect email " + email);
|
||||
if (userLoginCaseSensitive) {
|
||||
return userDao.findByEmail(tenantId, email);
|
||||
} else {
|
||||
return userDao.findByEmail(tenantId, email.toLowerCase());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -91,6 +99,9 @@ public class UserServiceImpl extends AbstractEntityService implements UserServic
|
||||
public User saveUser(User user) {
|
||||
log.trace("Executing saveUser [{}]", user);
|
||||
userValidator.validate(user, User::getTenantId);
|
||||
if (user.getId() == null && !userLoginCaseSensitive) {
|
||||
user.setEmail(user.getEmail().toLowerCase());
|
||||
}
|
||||
User savedUser = userDao.save(user.getTenantId(), user);
|
||||
if (user.getId() == null) {
|
||||
UserCredentials userCredentials = new UserCredentials();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user