Spring
OAuth随附了
OAuth2MethodSecurityexpressionHandler,该类增加了使用@PreAuthorize表达式进行此类检查的功能。您需要做的就是注册该类,例如,如果您使用的是Javaconfig,则像这样:
@Configuration@EnableGlobalMethodSecurity(prePostEnabled = true)public static class MethodSecurityConfig extends GlobalMethodSecurityConfiguration { @Override protected MethodSecurityexpressionHandler createexpressionHandler() { return new OAuth2MethodSecurityexpressionHandler(); }}
现在您可以简单地使用:
@PreAuthorize("#oauth2.hasScope('requiredScope')")
保护您的请求方法。要查看还可以使用哪些其他方法,请
hasScope检查类
OAuth2SecurityexpressionMethods。
缺点是
OAuth2MethodSecurityexpressionHandler扩展了
DefaultMethodSecurityexpressionHandler,因此您无法将其与也扩展该类的其他类组合。
或者,您也可以将OAuth范围映射到经典用户角色。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)