【发布时间】:2020-03-11 18:05:39
【问题描述】:
我正在使用 Spring Cloud(微服务),并且已经使用 JWT 令牌实现了安全性。 在我的安全应用程序中,我有像 User、Role 和 UserRole 这样的实体。 所以每个请求首先到达 ZOOL 服务并调用身份验证服务,身份验证服务创建/返回 JWT 令牌。 此外,我还有另一个需要 JWT 令牌的微服务休息应用程序(问题应用程序)。 在 Questions-app 我有一个包含 authorId 字段的 Question 实体。
@Entity
@Table(name="QUESTION")
public class Question {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ID", updatable = false, nullable = false)
private long id;
@Column(name = "AUTHOR")
private long authorId;
@Column(name = "TITLE")
private String title;
}
现在,我不清楚,设置 authorId long 类型是否正确,或者我应该在问题应用程序中创建 User、Role、UserRole 实体(只是从 AUTH 项目中简单复制)并像这样设置“作者”列
@OneToOne
@JoinColumn(name="AUTHOR")
private User user;
我知道,在第一个选项中,当我需要在网页上显示问题和用户名时,我应该调用 2 个服务(一个来自 question-app(获取问题),另一个来自 auth 服务(通过作者 ID 获取用户信息) ) 我想知道最好的做法是什么?
【问题讨论】:
-
我不清楚这与 JWT 或一般安全性有什么关系。也许您想添加与 jpa 相关的标签?
标签: spring spring-boot spring-security microservices spring-cloud