mirror of https://gitee.com/maxjhandsome/pig
🐛 Fixing a bug. oauth server 用户ID没有注入,securityutils 不能获取
This commit is contained in:
parent
51f95c7d8c
commit
033f76038c
|
@ -19,6 +19,7 @@ package com.pig4cloud.pig.auth.config;
|
||||||
import com.pig4cloud.pig.common.core.constant.SecurityConstants;
|
import com.pig4cloud.pig.common.core.constant.SecurityConstants;
|
||||||
import com.pig4cloud.pig.common.security.component.PigWebResponseExceptionTranslator;
|
import com.pig4cloud.pig.common.security.component.PigWebResponseExceptionTranslator;
|
||||||
import com.pig4cloud.pig.common.security.service.PigClientDetailsService;
|
import com.pig4cloud.pig.common.security.service.PigClientDetailsService;
|
||||||
|
import com.pig4cloud.pig.common.security.service.PigUser;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import lombok.SneakyThrows;
|
import lombok.SneakyThrows;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
|
@ -95,7 +96,11 @@ public class AuthorizationServerConfig extends AuthorizationServerConfigurerAdap
|
||||||
public TokenEnhancer tokenEnhancer() {
|
public TokenEnhancer tokenEnhancer() {
|
||||||
return (accessToken, authentication) -> {
|
return (accessToken, authentication) -> {
|
||||||
final Map<String, Object> additionalInfo = new HashMap<>(1);
|
final Map<String, Object> additionalInfo = new HashMap<>(1);
|
||||||
additionalInfo.put("license", SecurityConstants.PROJECT_LICENSE);
|
PigUser pigUser = (PigUser) authentication.getUserAuthentication().getPrincipal();
|
||||||
|
additionalInfo.put(SecurityConstants.DETAILS_LICENSE, SecurityConstants.PROJECT_LICENSE);
|
||||||
|
additionalInfo.put(SecurityConstants.DETAILS_USER_ID, pigUser.getId());
|
||||||
|
additionalInfo.put(SecurityConstants.DETAILS_USERNAME, pigUser.getUsername());
|
||||||
|
additionalInfo.put(SecurityConstants.DETAILS_DEPT_ID, pigUser.getDeptId());
|
||||||
((DefaultOAuth2AccessToken) accessToken).setAdditionalInformation(additionalInfo);
|
((DefaultOAuth2AccessToken) accessToken).setAdditionalInformation(additionalInfo);
|
||||||
return accessToken;
|
return accessToken;
|
||||||
};
|
};
|
||||||
|
|
|
@ -100,4 +100,24 @@ public interface SecurityConstants {
|
||||||
* 资源服务器默认bean名称
|
* 资源服务器默认bean名称
|
||||||
*/
|
*/
|
||||||
String RESOURCE_SERVER_CONFIGURER = "resourceServerConfigurerAdapter";
|
String RESOURCE_SERVER_CONFIGURER = "resourceServerConfigurerAdapter";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户ID字段
|
||||||
|
*/
|
||||||
|
String DETAILS_USER_ID = "user_id";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户名字段
|
||||||
|
*/
|
||||||
|
String DETAILS_USERNAME = "username";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户部门字段
|
||||||
|
*/
|
||||||
|
String DETAILS_DEPT_ID = "dept_id";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 协议字段
|
||||||
|
*/
|
||||||
|
String DETAILS_LICENSE = "license";
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
|
|
||||||
package com.pig4cloud.pig.common.security.component;
|
package com.pig4cloud.pig.common.security.component;
|
||||||
|
|
||||||
|
import com.pig4cloud.pig.common.core.constant.SecurityConstants;
|
||||||
import com.pig4cloud.pig.common.security.service.PigUser;
|
import com.pig4cloud.pig.common.security.service.PigUser;
|
||||||
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
||||||
import org.springframework.security.core.Authentication;
|
import org.springframework.security.core.Authentication;
|
||||||
|
@ -35,9 +36,6 @@ import java.util.Map;
|
||||||
* 根据checktoken 的结果转化用户信息
|
* 根据checktoken 的结果转化用户信息
|
||||||
*/
|
*/
|
||||||
public class PigUserAuthenticationConverter implements UserAuthenticationConverter {
|
public class PigUserAuthenticationConverter implements UserAuthenticationConverter {
|
||||||
private static final String USER_ID = "user_id";
|
|
||||||
private static final String DEPT_ID = "dept_id";
|
|
||||||
private static final String TENANT_ID = "tenant_id";
|
|
||||||
private static final String N_A = "N/A";
|
private static final String N_A = "N/A";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -67,9 +65,9 @@ public class PigUserAuthenticationConverter implements UserAuthenticationConvert
|
||||||
if (map.containsKey(USERNAME)) {
|
if (map.containsKey(USERNAME)) {
|
||||||
Collection<? extends GrantedAuthority> authorities = getAuthorities(map);
|
Collection<? extends GrantedAuthority> authorities = getAuthorities(map);
|
||||||
|
|
||||||
String username = (String) map.get(USERNAME);
|
String username = (String) map.get(SecurityConstants.DETAILS_USERNAME);
|
||||||
Integer id = (Integer) map.get(USER_ID);
|
Integer id = (Integer) map.get(SecurityConstants.DETAILS_USER_ID);
|
||||||
Integer deptId = (Integer) map.get(DEPT_ID);
|
Integer deptId = (Integer) map.get(SecurityConstants.DETAILS_DEPT_ID);
|
||||||
PigUser user = new PigUser(id, deptId, username, N_A, true
|
PigUser user = new PigUser(id, deptId, username, N_A, true
|
||||||
, true, true, true, authorities);
|
, true, true, true, authorities);
|
||||||
return new UsernamePasswordAuthenticationToken(user, N_A, authorities);
|
return new UsernamePasswordAuthenticationToken(user, N_A, authorities);
|
||||||
|
|
Loading…
Reference in New Issue