如何在MongoDB中定义Spring Security用户架构?

时间:2012-02-19 15:08:46

标签: mongodb spring-security

我想用MongoDB实现Spring Security。

如何定义自定义用户架构?

1 个答案:

答案 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,还可以向实现类添加其他字段。