Spring security 使用webgate的Spring安全性
我正在开发一个SpringMVC应用程序。我正在用webgate实现spring安全性。我在看这篇文章。当我实现与blog中相同的功能时,我遇到了以下错误 java.lang.IllegalStateException:找不到方法:找不到可以接受类型为org.springframework.security.web.firewall.RequestWrapper的单个参数的构造函数 我的buildDetails(-)代码如下Spring security 使用webgate的Spring安全性,spring-security,Spring Security,我正在开发一个SpringMVC应用程序。我正在用webgate实现spring安全性。我在看这篇文章。当我实现与blog中相同的功能时,我遇到了以下错误 java.lang.IllegalStateException:找不到方法:找不到可以接受类型为org.springframework.security.web.firewall.RequestWrapper的单个参数的构造函数 我的buildDetails(-)代码如下 public Object buildDetails(Object
public Object buildDetails(Object context)
{
System.out.println("HeaderAuthenticationDetails:buildDetails::: "+context);
Object result = super.buildDetails(context); //getting error in super class
List<GrantedAuthority> userGas = new ArrayList<GrantedAuthority>();
if (result instanceof MutableGrantedAuthoritiesContainer) {
Collection<String> userRoles = getUserRoles(context, allRoles);
userGas = (List<GrantedAuthority>) grantedAuthoritiesMapper.getGrantedAuthorities(userRoles);
((MutableGrantedAuthoritiesContainer) result).setGrantedAuthorities(userGas);
}
return result;
}
公共对象构建详细信息(对象上下文)
{
System.out.println(“HeaderAuthenticationDetails:buildDetails::”+上下文);
Object result=super.buildDetails(context);//在超类中获取错误
List userGas=new ArrayList();
if(可变授权权限容器的结果实例){
Collection userRoles=getUserRoles(上下文,allRoles);
userGas=(列表)grantedAuthoritiesMapper.getGrantedAuthorities(userRoles);
((可变授权权限容器)结果);
}
返回结果;
}
我可以通过修改buildDetails(-)来解决此问题,如下所示
公共对象构建详细信息(对象上下文)
{
List userGas=new ArrayList();
MutableGrantedAuthoritiesContainer=新的预验证GrantedAuthoritiesAuthenticationDetails(上下文);
Collection userRoles=getUserRoles(上下文,allRoles);
userGas=(列表)grantedAuthoritiesMapper.getGrantedAuthorities(userRoles);
容器。设置授权权限(用户气体);
返回容器;
}
并在我的getUserRoles(--)方法的请求头中不存在任何角色时添加了一个“匿名”角色
public Object buildDetails(Object context)
{
List<GrantedAuthority> userGas = new ArrayList<GrantedAuthority>();
MutableGrantedAuthoritiesContainer container=new PreAuthenticatedGrantedAuthoritiesAuthenticationDetails(context);
Collection<String> userRoles = getUserRoles(context, allRoles);
userGas = (List<GrantedAuthority>) grantedAuthoritiesMapper.getGrantedAuthorities(userRoles);
container.setGrantedAuthorities(userGas);
return container;
}