mirror of
https://codeup.aliyun.com/64f7d6b8ce01efaafef1e678/coal/coal.git
synced 2026-01-25 15:55:18 +08:00
优化登录速度
This commit is contained in:
@@ -78,7 +78,7 @@ public class AuthFilter extends OncePerRequestFilter {
|
||||
String sessionId = request.getHeader("X-Token");
|
||||
|
||||
|
||||
Optional<ResourceEntity> resource = resourceService.findByCode(getRequestURI(request));
|
||||
Optional<ResourceEntity> resource = resourceService.findUrl(getRequestURI(request));
|
||||
|
||||
|
||||
if (resource.isEmpty()) {
|
||||
|
||||
@@ -17,6 +17,7 @@ import java.util.List;
|
||||
@Entity
|
||||
@Comment("资源")
|
||||
@Slf4j
|
||||
@Table(indexes = {@Index(name = "idx_resource_type_code", columnList = "type,code", unique = true)})
|
||||
public class ResourceEntity extends CommonEntity {
|
||||
|
||||
@ManyToMany(mappedBy = "resources")
|
||||
|
||||
@@ -106,13 +106,13 @@ public class ResourceService extends BaseService<ResourceEntity, ResourceReposit
|
||||
|
||||
}
|
||||
|
||||
public Optional<ResourceEntity> findByCode(String requestURL) {
|
||||
public Optional<ResourceEntity> findUrl(String requestURL) {
|
||||
|
||||
return
|
||||
findAll(new Specification<ResourceEntity>() {
|
||||
@Override
|
||||
public Predicate toPredicate(Root<ResourceEntity> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) {
|
||||
return criteriaBuilder.equal(root.get("code"), requestURL);
|
||||
return criteriaBuilder.and(criteriaBuilder.equal(root.get("code"), requestURL),criteriaBuilder.equal(root.get("type"), "3"));
|
||||
}
|
||||
}).stream().findFirst();
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@ import org.springframework.data.domain.Sort;
|
||||
import org.springframework.data.jpa.domain.Specification;
|
||||
import org.springframework.security.crypto.password.Pbkdf2PasswordEncoder;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.StopWatch;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
@@ -47,19 +48,33 @@ public class UserService extends BaseService<UserEntity, UserRepository> {
|
||||
@PostConstruct
|
||||
public void init() {
|
||||
|
||||
passwordEncoder = Pbkdf2PasswordEncoder.defaultsForSpringSecurity_v5_8();
|
||||
passwordEncoder = new Pbkdf2PasswordEncoder("", 8, 10000, 256);;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public UserDto create(CreateUserDto request) {
|
||||
|
||||
request.setPassword(passwordEncoder.encode(request.getPassword()));
|
||||
UserEntity entity = mapper.toEntity(request);
|
||||
StopWatch stopWatch = new StopWatch();
|
||||
|
||||
try {
|
||||
stopWatch.start("encode");
|
||||
request.setPassword(passwordEncoder.encode(request.getPassword()));
|
||||
stopWatch.stop();
|
||||
UserEntity entity = mapper.toEntity(request);
|
||||
|
||||
this.repository.save(entity);
|
||||
return getById(entity.getId());
|
||||
stopWatch.start("save");
|
||||
|
||||
this.repository.save(entity);
|
||||
stopWatch.stop();
|
||||
|
||||
stopWatch.start("getById");
|
||||
return getById(entity.getId());
|
||||
} finally {
|
||||
stopWatch.stop();
|
||||
log.info(stopWatch.prettyPrint());
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user