具有外部角色的 REST 授权

REST authorization with exteral roles

我有一个场景,我在不同的系统中拥有角色和权限(我需要进行 REST 调用)并且该系统将指定我是否可以访问特定资源。

我需要拦截我的控制器方法,拦截器应该与外部服务对话并确定授权。我只使用 spring 引导(没有 spring 安全性)。

它应该类似于此 with JAX-RS 但我在 spring 上下文中查找。我可以使用 @RolesAllowed 实现吗?

我建议使用拦截器:

http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-handlermapping

您需要有一个配置,您将使用它进行注释(检查 spring documentation

@EnableGlobalMethodSecurity(jsr250Enabled = true)

然后您将必须创建您自己的访问决策管理器并注册您自己的角色。有了这个,您应该能够将您的控制器注释给特定用户,例如 @RolesAllowed("admin")