我想用MongoDB实现Spring Security。
如何定义自定义用户架构?
答案 0 :(得分:0)
MongoDB最大的优点之一是它是无模式的,即您不必使用某些预定义的列集。另一个MongoDB功能是缺少JOIN。
这两个语句意味着您可以构建所需的任何架构,但尝试在一个集合中包含所有必需的信息。例如,我在我的一个应用程序中使用了这样的模式:
{
"_id": "student_001",
"password": "65c20e5a89d6b13df450b50576e2edfb",
"firstName": "A",
"lastName": "B",
"secondName": "C",
"email": "a@b.c",
"role": "STUDENT",
"active": true,
"paid": 0.6
}
您可以将_id
用于任何类型的任何唯一字段(不仅是ObjectId),我将其用于登录。您只需要使用此架构中的数据覆盖基本org.springframework.security.core.userdetails.UserDetails
getter,还可以向实现类添加其他字段。