我将如何使用 spring 安全性实现检索具有 spring 安全性的用户详细信息
How would I implement retrieving user details with spring security using using spring security
所以我想做一个银行spring休息api,用户登录后,他们的详细信息将可供前端使用。
我真的很困惑如何按照我的意愿构建这个程序,以便使用 api 的前端检索您的数据。
我知道如何实现控制器等,但是在实现 spring 安全性时,我是否可以在用户 class 中拥有所有字段,包括余额、交易计数、创建日期等 spring 安全用于登录,或者我将其放在单独的 DTO class.
我在 Baeldungs 网站上做了一些研究,但我仍然对我的用例感到困惑。
我是 Spring REST 的新手,如有任何建议,我们将不胜感激
我认为域模型和数据模型之间应该有明确的区分。
如果您的应用程序要求对于可能从前端发起的每笔交易,需要使用余额、交易计数,那么您可以将这些详细信息放在 Authentication
对象中。但如果他们不这样做,请继续使用每个交易绝对需要的最小属性集 - userId
/ bankId
/ clientId
.
解决此问题后,您的应用程序可以在前端应用程序初始化时发送 GET /user
请求,您可以在其中提取前端所需的所有详细信息。
TLDR:在 SecurityContext
中存储每个请求中所需的属性,这些属性永远不应来自用户 - 已登录的用户 ID - 因为这些最终会出现在 Session
对象。对于其他所有内容,您可以触发 GET
请求以在您的前端应用程序中获取和缓存它。
所以我想做一个银行spring休息api,用户登录后,他们的详细信息将可供前端使用。
我真的很困惑如何按照我的意愿构建这个程序,以便使用 api 的前端检索您的数据。
我知道如何实现控制器等,但是在实现 spring 安全性时,我是否可以在用户 class 中拥有所有字段,包括余额、交易计数、创建日期等 spring 安全用于登录,或者我将其放在单独的 DTO class.
我在 Baeldungs 网站上做了一些研究,但我仍然对我的用例感到困惑。
我是 Spring REST 的新手,如有任何建议,我们将不胜感激
我认为域模型和数据模型之间应该有明确的区分。
如果您的应用程序要求对于可能从前端发起的每笔交易,需要使用余额、交易计数,那么您可以将这些详细信息放在 Authentication
对象中。但如果他们不这样做,请继续使用每个交易绝对需要的最小属性集 - userId
/ bankId
/ clientId
.
解决此问题后,您的应用程序可以在前端应用程序初始化时发送 GET /user
请求,您可以在其中提取前端所需的所有详细信息。
TLDR:在 SecurityContext
中存储每个请求中所需的属性,这些属性永远不应来自用户 - 已登录的用户 ID - 因为这些最终会出现在 Session
对象。对于其他所有内容,您可以触发 GET
请求以在您的前端应用程序中获取和缓存它。