我应该在小型应用程序中使用 Spring 安全模块来获取 bcrypt 哈希密码吗?
Should I use Spring Security module in a small application just for bcrypt hashing password?
我正在创建一个小型网站 API,使用 Spring Boot 2.3.1 和 Spring 数据以及其他一些小包。该项目只是一个身份验证微服务。我会尽量简化事情以专注于问题。
假设应用程序将有一个实体 User
(用户名、密码)、UserRepository
、AuthenticationService
和 AuthenticationController
,端点为 /register
和/authenticate
处理 POST-带有用户名和密码的请求 {"username": "Bob", "password": "pass"}
还存在一个带有 table users
列 username varchar(16)
& [ 的 postgres 数据库=20=],它将存储用户名和密码哈希值。
/authenticate
端点的目标是 return true
如果用户存在且密码匹配,否则 false
。
我不确定 Spring 安全性是否是这种小功能的最佳解决方案,也许我应该简单地使用一些实现 Bcrypt-hashing 的包?
包括和配置项目的 spring 安全性有时会对您现有的功能造成很多问题。在我看来,在这种情况下,没有它你会过得更好。保持简单,如果稍后出现 URL 过滤和高级导航权限之类的东西,请考虑一下。
我正在创建一个小型网站 API,使用 Spring Boot 2.3.1 和 Spring 数据以及其他一些小包。该项目只是一个身份验证微服务。我会尽量简化事情以专注于问题。
假设应用程序将有一个实体 User
(用户名、密码)、UserRepository
、AuthenticationService
和 AuthenticationController
,端点为 /register
和/authenticate
处理 POST-带有用户名和密码的请求 {"username": "Bob", "password": "pass"}
还存在一个带有 table users
列 username varchar(16)
& [ 的 postgres 数据库=20=],它将存储用户名和密码哈希值。
/authenticate
端点的目标是 return true
如果用户存在且密码匹配,否则 false
。
我不确定 Spring 安全性是否是这种小功能的最佳解决方案,也许我应该简单地使用一些实现 Bcrypt-hashing 的包?
包括和配置项目的 spring 安全性有时会对您现有的功能造成很多问题。在我看来,在这种情况下,没有它你会过得更好。保持简单,如果稍后出现 URL 过滤和高级导航权限之类的东西,请考虑一下。