如何使弹簧安全允许使用休息服务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使弹簧安全允许使用休息服务相关的知识,希望对你有一定的参考价值。

我有弹簧安全的spring web应用程序,我使用rest服务来访问数据。我有两个问题。

首先,我无法使spring安全性允许我发送POST http请求并向数据库添加内容。我试图允许此请求,但Spring安全仍然拒绝访问。

 http.authorizeRequests().antMatchers("/services/rest/registerUser").permitAll();

第二个问题,确保休息服务的最佳做法是什么?我绝对不想让某人通过休息服务将数据发送到数据库。那么允许在我的应用程序内使用服务并限制其他所有休息请求的最佳方法是什么?

答案

您可以在configure(WebSecurity web)中使用重载的WebSecurityConfigurerAdapter方法,具体如下:

public void configure(WebSecurity web) {
    web.ignoring().antMatchers("/services/rest/registerUser");
}

此外,如果您允许从放置REST Api的主机以外的主机访问REST Api,则需要使用Cors Headers。

确保休息服务的最佳做法是什么?我绝对不想让某人通过休息服务将数据发送到数据库。那么允许在我的应用程序内使用服务并限制其他所有休息请求的最佳方法是什么?

保护REST Apis的最广泛使用和安全的方法是使用OAuth2。您可以使用Spring Security OAuth2项目来实现此目的。

另一种方法是使用JWT令牌,也可以使用Spring Security和一些代码来实现。

以上是关于如何使弹簧安全允许使用休息服务的主要内容,如果未能解决你的问题,请参考以下文章

junit中的模拟休息服务(带弹簧)

如何使百里香弹簧安全命名空间可用?

如何使弹簧安全重定向

弹簧休息控制器不适用于文件上传

使会话弹簧安全性无效

来自 oauth2 安全休息 Web 服务的 Spring 休息服务 api 调用