Fix Server-example Unknown user (#1446)

* Feature: server add Ldap user authentication

* Fix Server-example Unknown user

* Remove RFC7230Config.class
pull/1448/head
Pan_Yujie 10 months ago committed by GitHub
parent ff6c3559c3
commit 4539c352a5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -28,7 +28,6 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.ConfigurableEnvironment;
import java.util.Map;
import java.util.Objects;
/**
* Before check configuration.
@ -92,15 +91,15 @@ public class BeforeCheckConfiguration {
}
}
Map<String, String> etcd = properties.getEtcd();
if (MapUtil.isNotEmpty(etcd)){
if (MapUtil.isNotEmpty(etcd)) {
String endpoints = etcd.get("endpoints");
if ((StringUtil.isBlank(endpoints))){
if ((StringUtil.isBlank(endpoints))) {
throw new ConfigEmptyException(
"Web server failed to start. The dynamic thread pool etcd endpoints is empty.",
"Please check whether the [spring.dynamic.thread-pool.etcd.endpoints] configuration is empty or an empty string.");
}
String key = etcd.get("key");
if ((StringUtil.isBlank(key))){
if ((StringUtil.isBlank(key))) {
throw new ConfigEmptyException(
"Web server failed to start. The dynamic thread pool etcd key is empty.",
"Please check whether the [spring.dynamic.thread-pool.etcd.key] configuration is empty or an empty string.");

@ -17,13 +17,19 @@
package cn.hippo4j.auth.security;
import cn.hippo4j.auth.model.biz.user.LoginUser;
import lombok.AllArgsConstructor;
import lombok.SneakyThrows;
import org.springframework.expression.AccessException;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.AuthenticationException;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
/**
* Auth manager.
@ -36,6 +42,8 @@ public class AuthManager {
private final AuthenticationManager authenticationManager;
private final UserDetailsService userDetailsService;
/**
* Resolve token from user.
*
@ -47,9 +55,11 @@ public class AuthManager {
@SneakyThrows
public String resolveTokenFromUser(String userName, String rawPassword) {
try {
UsernamePasswordAuthenticationToken authenticationToken =
new UsernamePasswordAuthenticationToken(userName, rawPassword);
authenticationManager.authenticate(authenticationToken);
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
LoginUser loginUser = new LoginUser();
loginUser.setPassword(rawPassword);
request.setAttribute("loginUser", loginUser);
UserDetails userDetails = userDetailsService.loadUserByUsername(userName);
} catch (AuthenticationException e) {
throw new AccessException("Unknown user.");
}

@ -24,6 +24,7 @@ import cn.hippo4j.auth.model.biz.user.LoginUser;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Primary;
import org.springframework.security.authentication.BadCredentialsException;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails;
@ -46,6 +47,7 @@ import java.util.Set;
*/
@Slf4j
@Service
@Primary
public class UserDetailsServiceImpl implements UserDetailsService {
@Value("${hippo4j.core.auth.enabled:true}")

Loading…
Cancel
Save