2011-04-20 73 views
0

是否可以在Springuth中为OAuth定制/ oauth/user/authorize路径?如何在Spring Security OAuth中自定义/ oauth/user/authorize路径

该路径在org.springframework.security.oauth2.provider.verification.VerificationCodeFilter类中配置,但我找不到定义自定义过滤器或以其他方式更改此路径的方法。

我使用OAuth的OAuth2协议和版本1.0.0.M3 for Spring Security。

回答

0

你必须使用一个著名黑客以自定义的命名空间配置不暴露bean的属性 - 当BeanPostProcessor:

@Component 
public class VerificationCodeFilterBeanPostProcessor implements BeanPostProcessor { 

    private final String filterProcessesUrl = "/your/path/here"; 

    @Override 
    public final Object postProcessAfterInitialization(final Object bean, final String beanName) { 
     return bean; 
    } 

    @Override 
    public final Object postProcessBeforeInitialization(final Object bean, final String beanName) { 
     if (bean instanceof VerificationCodeFilter) { 
      final VerificationCodeFilter filter = (VerificationCodeFilter) bean; 
      filter.setFilterProcessesUrl(filterProcessesUrl); 
     } 
     return bean; 
    } 
} 
相关问题