|
@@ -1,14 +1,13 @@
|
|
|
package com.ym.mec.auth.core.provider.service;
|
|
|
|
|
|
-import com.ym.mec.auth.api.dto.SysUserInfo;
|
|
|
-import com.ym.mec.auth.api.entity.SysUser;
|
|
|
-import com.ym.mec.auth.config.constant.SecurityConstants;
|
|
|
-import com.ym.mec.auth.service.SysUserService;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.security.core.GrantedAuthority;
|
|
|
import org.springframework.security.core.authority.AuthorityUtils;
|
|
|
+import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
|
|
import org.springframework.security.core.userdetails.User;
|
|
|
import org.springframework.security.core.userdetails.UserDetails;
|
|
|
import org.springframework.security.core.userdetails.UserDetailsService;
|
|
@@ -16,7 +15,11 @@ import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
|
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.util.List;
|
|
|
+import com.ym.mec.auth.api.dto.SysUserInfo;
|
|
|
+import com.ym.mec.auth.api.entity.SysUser;
|
|
|
+import com.ym.mec.auth.api.enums.SysUserType;
|
|
|
+import com.ym.mec.auth.config.constant.SecurityConstants;
|
|
|
+import com.ym.mec.auth.service.SysUserService;
|
|
|
|
|
|
@Service
|
|
|
public class DefaultUserDetailsService implements UserDetailsService {
|
|
@@ -46,7 +49,16 @@ public class DefaultUserDetailsService implements UserDetailsService {
|
|
|
throw new UsernameNotFoundException("用户不存在");
|
|
|
}
|
|
|
|
|
|
- List<GrantedAuthority> authorities = AuthorityUtils.createAuthorityList(userInfo.getPermissions());
|
|
|
+ List<GrantedAuthority> authorities = null;
|
|
|
+
|
|
|
+ String userType = userInfo.getSysUser().getUserType();
|
|
|
+
|
|
|
+ if (StringUtils.endsWithIgnoreCase(userType, SysUserType.SYSTEM.getName())) {
|
|
|
+ authorities = AuthorityUtils.createAuthorityList(userInfo.getPermissions());
|
|
|
+ } else {
|
|
|
+ authorities = new ArrayList<GrantedAuthority>();
|
|
|
+ authorities.add(new SimpleGrantedAuthority(userType.toLowerCase()));
|
|
|
+ }
|
|
|
|
|
|
SysUser sysUser = userInfo.getSysUser();
|
|
|
|