|
@@ -6,9 +6,8 @@ import cn.reghao.devops.manager.account.model.constant.RoleType;
|
|
|
import cn.reghao.devops.manager.account.model.dto.CreateAccountDto;
|
|
import cn.reghao.devops.manager.account.model.dto.CreateAccountDto;
|
|
|
import cn.reghao.devops.manager.account.model.po.Role;
|
|
import cn.reghao.devops.manager.account.model.po.Role;
|
|
|
import cn.reghao.devops.manager.account.service.AccountService;
|
|
import cn.reghao.devops.manager.account.service.AccountService;
|
|
|
|
|
+import cn.reghao.devops.manager.account.service.AccountSessionService;
|
|
|
import cn.reghao.jutil.jdk.result.Result;
|
|
import cn.reghao.jutil.jdk.result.Result;
|
|
|
-import cn.reghao.jutil.jdk.security.Cryptor;
|
|
|
|
|
-import cn.reghao.jutil.jdk.security.Md5Cryptor;
|
|
|
|
|
import cn.reghao.jutil.jdk.security.RandomString;
|
|
import cn.reghao.jutil.jdk.security.RandomString;
|
|
|
import cn.reghao.devops.manager.account.model.dto.AccountProfile;
|
|
import cn.reghao.devops.manager.account.model.dto.AccountProfile;
|
|
|
import cn.reghao.devops.manager.account.model.dto.AccountRole;
|
|
import cn.reghao.devops.manager.account.model.dto.AccountRole;
|
|
@@ -18,7 +17,6 @@ import org.springframework.data.domain.PageRequest;
|
|
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
|
-import java.security.NoSuchAlgorithmException;
|
|
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
import java.util.Locale;
|
|
import java.util.Locale;
|
|
|
import java.util.Set;
|
|
import java.util.Set;
|
|
@@ -33,14 +31,15 @@ import java.util.stream.Collectors;
|
|
|
public class AccountServiceImpl implements AccountService {
|
|
public class AccountServiceImpl implements AccountService {
|
|
|
private final UserRepository userRepository;
|
|
private final UserRepository userRepository;
|
|
|
private final RoleRepository roleRepository;
|
|
private final RoleRepository roleRepository;
|
|
|
- private final Cryptor cryptor;
|
|
|
|
|
private final PasswordEncoder passwordEncoder;
|
|
private final PasswordEncoder passwordEncoder;
|
|
|
|
|
+ private final AccountSessionService accountSessionService;
|
|
|
|
|
|
|
|
- public AccountServiceImpl(UserRepository userRepository, RoleRepository roleRepository, PasswordEncoder passwordEncoder) throws NoSuchAlgorithmException {
|
|
|
|
|
|
|
+ public AccountServiceImpl(UserRepository userRepository, RoleRepository roleRepository,
|
|
|
|
|
+ PasswordEncoder passwordEncoder, AccountSessionService accountSessionService) {
|
|
|
this.userRepository = userRepository;
|
|
this.userRepository = userRepository;
|
|
|
this.roleRepository = roleRepository;
|
|
this.roleRepository = roleRepository;
|
|
|
- this.cryptor = new Md5Cryptor();
|
|
|
|
|
this.passwordEncoder = passwordEncoder;
|
|
this.passwordEncoder = passwordEncoder;
|
|
|
|
|
+ this.accountSessionService = accountSessionService;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -94,10 +93,11 @@ public class AccountServiceImpl implements AccountService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
String salt = RandomString.getSalt(64);
|
|
String salt = RandomString.getSalt(64);
|
|
|
- String encodedPassword = cryptor.encrypt(newPassword + salt);
|
|
|
|
|
|
|
+ String encodedPassword = passwordEncoder.encode(newPassword + salt);
|
|
|
userEntity.setSalt(salt);
|
|
userEntity.setSalt(salt);
|
|
|
userEntity.setEncodedPassword(encodedPassword);
|
|
userEntity.setEncodedPassword(encodedPassword);
|
|
|
userRepository.save(userEntity);
|
|
userRepository.save(userEntity);
|
|
|
|
|
+ accountSessionService.deactiveSession(userEntity);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -124,6 +124,7 @@ public class AccountServiceImpl implements AccountService {
|
|
|
Set<String> roles = accountRole.getRoles().stream().map(Role::getName).collect(Collectors.toSet());
|
|
Set<String> roles = accountRole.getRoles().stream().map(Role::getName).collect(Collectors.toSet());
|
|
|
userEntity.setRole(roles);
|
|
userEntity.setRole(roles);
|
|
|
userRepository.save(userEntity);
|
|
userRepository.save(userEntity);
|
|
|
|
|
+ accountSessionService.deactiveSession(userEntity);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|