如何将spring security oauth 1.0应用于sepcific URL

如何将spring security oauth 1.0应用于sepcific URL,oauth,spring-security,Oauth,Spring Security,我有一个项目,在同一个项目中有一些控制器和一个RESTAPI列表(以url“/api/”开头)。现在,我必须将SpringSecurityOAuth仅应用于RESTAPI。我找不到任何关于应用相同的文档。spring security oauth中是否有任何内置功能,或者我们是否应该使用某种过滤器来过滤oauth请求,并为URL(控制器URL和其他URL)返回一些可能的错误代码,而不是REST api(/api/)。非常感谢您的帮助 谢谢。有专门为spring security设计的。您只能使用

我有一个项目,在同一个项目中有一些控制器和一个RESTAPI列表(以url“/api/”开头)。现在,我必须将SpringSecurityOAuth仅应用于RESTAPI。我找不到任何关于应用相同的文档。spring security oauth中是否有任何内置功能,或者我们是否应该使用某种过滤器来过滤oauth请求,并为URL(控制器URL和其他URL)返回一些可能的错误代码,而不是REST api(/api/)。非常感谢您的帮助

谢谢。

有专门为spring security设计的。您只能使用多个httpconfig元素将其应用于某些URL。可能是这样的:

  <!-- REST API -->
  <http pattern="/api/**">
    ....
    <custom-filter ref="oauth2ProviderFilter" before="PRE_AUTH_FILTER"/>
    ....
  </http>

  <http pattern="/login.htm*" security="none"/>

  <!-- Additional filter chain for normal users -->
  <http>
    <intercept-url pattern='/**' access='ROLE_USER' />
    <form-login .../>
  </http>

  <oauth:resource-server id="oauth2ProviderFilter" .../>

....
....

Hi Maksym,非常感谢您的回答。由于我对这方面比较陌生,所以我无法确切地了解“oauth2ProviderFilter”指的是什么。请您抽出时间详细解释一下好吗?您可以使用oauth命名空间中的资源服务器标记准备相应筛选器的实例。如果您还有其他问题,请告诉我。谢谢您的回复。我实际上想实现OAuth1.0a,但我想上面提到的代码是针对OAuth2.0的。正如您所提到的,我正在尝试使用两个http元素。但是如果可能的话,请提供一个示例配置来支持。对不起,我错过了OAuth的1.0a版本。您能使用OAuth2.0吗?谢谢Maksym。现在我通过定制OAuthProviderProcessingFilter并手动应用它来解决这个问题。而且它现在还不完全符合OAuth协议。因为它不提供请求令牌和访问令牌的方法。我为用户提供了一个接口来手动生成他们的访问令牌和密码。