Spring OAuth2多服务器注释配置(资源和授权)

时间:2015-08-25 14:31:37

标签: spring spring-security spring-security-oauth2

我使用以下内容:

  • spring 4.2
  • spring security 4.0.2
  • spring oauth2 2.0.7

我正在尝试配置一个处理的服务器:

  • 一般的MVC内容(一些受保护,一些没有)
  • 授权服务器
  • 资源服务器

资源服务器配置似乎不仅限于/ rest / **,而是覆盖所有安全配置。即对受保护的NON-OAuth资源的调用没有受到保护(即过滤器没有捕获它们并重定向到登录)。

配置(我已经删除了一些简单的东西):

if (!TextUtils.isEmpty(rowItem.getCategoria()) {
     holder.txtCategoria.setText(Html.fromHtml("Categoría: <b>"+rowItem.getCategoria()+"</b>"));
     holder.txtCategoria.setVisibility(View.VISIBLE);
}

2 个答案:

答案 0 :(得分:6)

您正在使用多个HttpSecurity配置。 Spring需要了解订单。使用SecurityConfig

为您的@Order课程添加注释
@Configuration
@EnableWebSecurity
@Order(4)
public class SecurityConfig  extends WebSecurityConfigurerAdapter{}
  

注释@EnableResourceServer创建一个带有硬编码Order(of 3)的WebSecurityConfigurerAdapter。由于Spring中的技术限制,现在无法立即更改订单,因此您必须避免在应用程序中的其他WebSecurityConfigurerAdapters中使用order = 3(如果您忘记,Spring Security会通知您。)

参考:

http://docs.spring.io/spring-security/site/docs/3.2.x/reference/htmlsingle/#multiple-httpsecurity

http://docs.spring.io/spring-security/oauth/apidocs/org/springframework/security/oauth2/config/annotation/web/configuration/EnableResourceServer.html

答案 1 :(得分:-1)

解决方案是你应该使用follow lib(s)版本,否则你将面临这个问题。希望这个帮助。你不能使用spring-security 4.0.2版本。     弹簧安全ACL-3.2.7.RELEASE.jar     弹簧安全配置,3.2.7.RELEASE.jar     弹簧安全核心3.2.7.RELEASE.jar     弹簧安全oauth2-2.0.7.RELEASE.jar     弹簧安全标签库-3.2.7.RELEASE.jar