📜  使用Spring Security实现基本身份验证

📅  最后修改于: 2021-01-11 06:05:19             🧑  作者: Mango

使用Spring Security实现基本身份验证

在前面的步骤中,我们已经创建了一些资源,但是没有一个是安全的。没有用于访问资源的用户标识和密码。在本节中,我们将实现基本身份验证。

有多种方法来验证我们的RESTful Web服务。基本方法是使用基本身份验证。在基本身份验证中,我们发送用户名和密码作为请求的一部分。当我们提供用户名和密码时,它使我们可以访问资源。

还有其他高级身份验证形式,例如摘要身份验证,其中创建了密码摘要,并在摘要之间发送摘要。它不会将实际密码发送到服务器。身份验证的另一种高级形式是OAuth(开放授权)或OAuth2身份验证。

让我们看看如何在Web服务中实现基本身份验证。

步骤1:打开pom.xml并添加spring-boot-starter-security 。它会自动为我们配置基本安全性。


org.springframework.boot
spring-boot-starter-security

步骤2:重新启动服务器,我们在日志中输入密码。每次服务器启动时,密码都会不同。

步骤3:从日志中复制密码。

步骤4:打开REST Client Postman并发送POST请求。我们正在发送POST以创建用户。

  • 提供URI http:// localhost:8080 / users。
  • 单击“身体”选项卡,然后选择原始单选按钮。
  • 选择媒体类型JSON(application / json)。
  • 提供姓名和出生日期。
  • 单击发送按钮。

它返回状态:401未经授权

步骤5:在REST客户端Postman中,单击Authorization标签,然后执行以下操作:

  • 选择身份验证的基本身份验证类型。
  • 提供用户名。默认用户名是user。
  • 粘贴我们从日志中复制的密码。
  • 单击发送按钮。

它显示状态:201已创建。有一个缺点,当我们重新启动服务器时,密码会一次又一次地更改。解决此问题的方法是在application.properties文件中配置用户名和密码。

application.properties

spring.security.user.name=user
spring.security.user.password=password

现在,移至Postman并尝试发送一个POST请求,该请求返回Status:401 Unauthorized 。这是因为我们仍在使用旧密码。因此,我们需要使用新的用户名和密码进行更改。提供我们在属性文件中配置的用户名和密码。我们得到状态:201已创建。