2011-04-20 72 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; 
    } 
} 
相關問題