Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以修改OAuth身份验证中用于spring安全性的authentication字段?_Spring_Spring Security_Spring Boot_Oauth 2.0 - Fatal编程技术网

是否可以修改OAuth身份验证中用于spring安全性的authentication字段?

是否可以修改OAuth身份验证中用于spring安全性的authentication字段?,spring,spring-security,spring-boot,oauth-2.0,Spring,Spring Security,Spring Boot,Oauth 2.0,我在我的spring boot应用程序中使用spring安全性。目前,我们可以选择使用用户名和密码生成令牌。现在我需要修改选项,比如我希望用户名作为电子邮件,密码作为手机号码。是否可以这样使用。是的,您可以选择使用自定义值。例如,检查下面的代码 import org.springframework.beans.factory.annotation.Autowired; 导入org.springframework.security.core.authority.SimpleGrantedAuth

我在我的spring boot应用程序中使用spring安全性。目前,我们可以选择使用用户名和密码生成令牌。现在我需要修改选项,比如我希望用户名作为电子邮件,密码作为手机号码。是否可以这样使用。

是的,您可以选择使用自定义值。例如,检查下面的代码

import org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.security.core.authority.SimpleGrantedAuthority;
导入org.springframework.security.core.userdetails.User;
导入org.springframework.security.core.userdetails.userdetails;
导入org.springframework.security.core.userdetails.userdetails服务;
导入org.springframework.security.core.userdetails.UsernameNotFoundException;
导入org.springframework.stereotype.Service;
进口sunbox.dao.IUserDAO;
导入java.util.ArrayList;
导入java.util.List;
@服务
公共类CustomUserDetailsService实现UserDetailsService{
@自动连线
私人IUserDAO IUserDAO;
@自动连线
公共CustomUserDetailsService(IUserDAO IUserDAO){
this.iuserDAO=iuserDAO;
} 
@SuppressWarnings({“rawtypes”,“unchecked”})
@凌驾
public UserDetails loadUserByUsername(字符串s)引发UsernameNotFoundException{
sunbox.domain.User usr=iuserDAO.getUserByEmail;
如果(usr==null){
抛出新的UsernameNotFoundException(“找不到此用户名的用户详细信息:“+s”);
} 
字符串username=usr.getEmail();
字符串密码=usr.getMobile();
字符串角色=usr.getUserType().getUserTypeName();
List authList=getAuthorities(角色);
用户=新用户(用户名、密码、身份验证列表);
返回用户;
}  
@SuppressWarnings({“rawtypes”,“unchecked”})
私有列表GetAuthories(字符串角色){
List authList=new ArrayList();
添加(新的SimpleGrantedAuthority(“角色用户”);
如果(role!=null&&role.trim().length()>0){
if(role.equals(“admin”){
添加(新的SimpleGrantedAuthority(“角色管理”);
}  
}    
返回authList;
}  

}
是的,您可以选择使用自定义值。例如,检查下面的代码

import org.springframework.beans.factory.annotation.Autowired;
导入org.springframework.security.core.authority.SimpleGrantedAuthority;
导入org.springframework.security.core.userdetails.User;
导入org.springframework.security.core.userdetails.userdetails;
导入org.springframework.security.core.userdetails.userdetails服务;
导入org.springframework.security.core.userdetails.UsernameNotFoundException;
导入org.springframework.stereotype.Service;
进口sunbox.dao.IUserDAO;
导入java.util.ArrayList;
导入java.util.List;
@服务
公共类CustomUserDetailsService实现UserDetailsService{
@自动连线
私人IUserDAO IUserDAO;
@自动连线
公共CustomUserDetailsService(IUserDAO IUserDAO){
this.iuserDAO=iuserDAO;
} 
@SuppressWarnings({“rawtypes”,“unchecked”})
@凌驾
public UserDetails loadUserByUsername(字符串s)引发UsernameNotFoundException{
sunbox.domain.User usr=iuserDAO.getUserByEmail;
如果(usr==null){
抛出新的UsernameNotFoundException(“找不到此用户名的用户详细信息:“+s”);
} 
字符串username=usr.getEmail();
字符串密码=usr.getMobile();
字符串角色=usr.getUserType().getUserTypeName();
List authList=getAuthorities(角色);
用户=新用户(用户名、密码、身份验证列表);
返回用户;
}  
@SuppressWarnings({“rawtypes”,“unchecked”})
私有列表GetAuthories(字符串角色){
List authList=new ArrayList();
添加(新的SimpleGrantedAuthority(“角色用户”);
如果(role!=null&&role.trim().length()>0){
if(role.equals(“admin”){
添加(新的SimpleGrantedAuthority(“角色管理”);
}  
}    
返回authList;
}  
}