在前面的步骤中, 我们创建了一些资源, 但是它们都不安全。没有用于访问资源的用户标识和密码。在本节中, 我们将实现基本身份验证。
有多种方法来验证我们的RESTful Web服务。基本方法是使用基本身份验证。在基本身份验证中, 我们发送用户名和密码作为请求的一部分。当我们提供用户名和密码时, 它使我们可以访问资源。
还有其他高级身份验证形式, 例如摘要身份验证, 其中创建了密码摘要, 并在摘要之间进行发送。它不会将实际密码发送到服务器。身份验证的另一种高级形式是OAuth(开放授权)或OAuth2身份验证。
让我们看看如何在Web服务中实现基本身份验证。
步骤1:打开pom.xml并添加spring-boot-starter-security。它会自动为我们配置基本安全性。
<
dependency>
<
groupId>
org.springframework.boot<
/groupId>
<
artifactId>
spring-boot-starter-security<
/artifactId>
<
/dependency>
步骤2:重新启动服务器, 我们在日志中输入密码。每次服务器启动时, 密码都会不同。
文章图片
步骤3:从日志中复制密码。
步骤4:打开REST Client Postman并发送POST请求。我们正在发送POST以创建用户。
- 提供URI http:// localhost:8080 / users。
- 单击“身体”选项卡, 然后选择原始单选按钮。
- 选择媒体类型JSON(application / json)。
- 提供姓名和出生日期。
- 单击发送按钮。
文章图片
步骤5:在REST客户端Postman中, 单击Authorization(授权)选项卡并执行以下操作:
- 选择身份验证的类型基本身份验证。
- 提供用户名。默认用户名是user。
- 粘贴我们从日志中复制的密码。
- 单击发送按钮。
文章图片
【使用Spring Security实现基本身份验证】它显示状态:201已创建。有一个缺点, 当我们重新启动服务器时, 密码会一次又一次地更改。解决此问题的方法是在application.properties文件中配置用户名和密码。
application.properties
spring.security.user.name=userspring.security.user.password=password
现在, 移至Postman并尝试发送POST请求, 返回状态:401 Unauthorized。这是因为我们仍在使用旧密码。因此, 我们需要使用新的用户名和密码进行更改。提供我们在属性文件中配置的用户名和密码。我们得到状态:201已创建。
文章图片
推荐阅读
- 实现异常处理-找不到404资源
- JAX-WS教程介绍
- RESTful Web服务
- JAX-WS示例RPC样式
- JAX-WS示例文档样式
- RESTful JAX-RS文件上传示例
- RESTful JAX-RS文件下载示例
- RESTful JAX-RS注释示例
- JAX-RS示例jersey