首页 > 解决方案 > 我应该在一个小型应用程序中使用 Spring Security 模块来获取 bcrypt 哈希密码吗?

问题描述

我正在使用带有 Spring Data 的 Spring Boot 2.3.1 和其他一些小包创建一个小型 Web API。该项目只是一个身份验证微服务。我将尝试简化事情以专注于问题。

假设应用程序将有一个实体User(用户名、密码)UserRepository、、、AuthenticationServiceAuthenticationController端点/register/authenticate它使用用户名和密码处理 POST 请求,{"username": "Bob", "password": "pass"}还存在一个带有&users列的表的 postgres 数据库,它将存储用户名和密码哈希.username varchar(16)password varchar(60)

/authenticate端点的目标是true在用户存在且密码匹配或其他情况下返回false

我不确定 Spring Security 是否是这种小功能的最佳解决方案,也许我应该简单地使用一些实现 Bcrypt-hashing 的包?

标签: javaspringspring-bootspring-securitybcrypt

解决方案


在项目中包含和配置 spring 安全性有时会对您现有的功能造成很多问题。在我看来,在这种情况下,没有它你会更好。保持简单,如果稍后出现 URL 过滤和高级导航权限之类的东西,请考虑一下。


推荐阅读