Spring security 使用webgate的Spring安全性

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

我正在开发一个SpringMVC应用程序。我正在用webgate实现spring安全性。我在看这篇文章。当我实现与blog中相同的功能时,我遇到了以下错误

java.lang.IllegalStateException:找不到方法:找不到可以接受类型为org.springframework.security.web.firewall.RequestWrapper的单个参数的构造函数

我的buildDetails(-)代码如下

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;
 }