![](/img/trans.png)
[英]Issue in securing Spring REST service With OAuth2 in Spring Boot
[英]Spring boot 2 + Oauth2 - Securing the Rest Calls in Microservices
我正在从事spring boot 2微服务。 现在我打算使用OAUTH2确保我的休息电话安全。
我发现有很多关于Spring 2 + OAUTH2集成的文章,但与我的要求不符,所有文章都使用表和使用角色的安全调用,
我的应用程序登录使用SAML(SSO)进行单点登录,我的要求是仅授权每个请求。 最好的方法是什么?
任何建议或github链接,以符合简单的要求,将不胜感激。
@premKumarR
对于您在内存v / s JDBC中哪个更好的评论。 对于Spring Docs,
这是对它们的讨论的描述
默认的InMemoryTokenStore非常适合单个服务器(例如,低流量,并且在发生故障的情况下不与备份服务器进行热交换)。 大多数项目都可以从此处开始,并且可以在开发模式下以这种方式运行,从而可以轻松启动没有依赖性的服务器。
JdbcTokenStore是同一事物的JDBC版本,它将令牌数据存储在关系数据库中。 如果可以在服务器之间共享数据库,请使用JDBC版本;如果只有一个,则可以扩展同一服务器的实例;如果有多个组件,则可以使用授权和资源服务器。 要使用JdbcTokenStore,您需要在类路径上使用“ spring-jdbc”。
文件连结: https : //projects.spring.io/spring-security-oauth/docs/oauth2.html
OAuth2具有创建用于身份验证的令牌的不同实现。 默认情况下,它通过随机值创建令牌并处理所有TokenStore
除了将其委托给TokenStore
的令牌的持久性TokenStore
。 默认存储是内存中的实现,但是还有其他一些可用的实现。
JdbcTokenStore
是同一事物的JDBC版本,它将令牌数据存储在关系数据库中。
存储的JSON Web Token
(JWT)版本,但不保留数据。
所以回答你的问题
不必要。 据我了解,您仅打算进行身份验证而不生成令牌。
您可以使用WebSecurityConfigurerAdapter
使传入的请求失效。 例如如下
公共类配置扩展了WebSecurityConfigurerAdapter {
@Override public void configure(HttpSecurity http) throws Exception { http.csrf().disable() .authorizeRequests() .antMatchers("/authorization-server-1/**", "/login").permitAll() .anyRequest().authenticated(); } }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.