我使用 MVC3 已经有一段时间了,我刚刚开始接触 mongoDB。到目前为止,我一直在使用您在 Visual Studio 中创建基本 Web 应用程序时提供的基本 MembershipProvider 系统。我以前没有建立自己的。我知道这会为您生成架构(dbo.aspnet_Users 和 dbo.aspnet_Membership),但其中很多是无关的。是否有一个教程来获得一个直接从 mongodb 读取的基本登录/注册系统。这甚至是一个好主意吗?还是我会将我的用户保存在单独的 sql 数据库中,而我的所有其他数据都保存在 mongodb 中?
问问题
1784 次
1 回答
0
我会让用户知道你所有的其他数据。如果您有用户集合,我认为示例文档将如下所示:
用户:
{
"_id" : ObjectId("507f1f77bcf86cd799439011"),
"username" : "bob123",
"password" : "ABC122939232DEFEFE",
"status" : "active", // could be "pending" or whatever
"email" : "bob@gmail.com"
}
您为用户提供了一个注册屏幕,他们可以在其中创建登录名和密码。您可能会考虑让他们使用他们的电子邮件作为登录名 - 这些天非常标准。
确保不要以纯文本形式存储他们的密码。相反,您通过哈希函数运行它并存储该结果(http://en.wikipedia.org/wiki/Cryptographic_hash_function)。当他们登录时,您输入输入的密码并对其进行哈希处理,然后将其与数据库中的值进行比较。总是必须为有人窃取您的数据库的不幸情况做好准备。=(
然后,您还可以使用用户文档中的标志来管理他们的状态。您可以通过向他们发送链接并让他们访问它来让人们确认他们的电子邮件。
只是我过去通过简单登录所做的一些想法。
于 2013-02-26T03:57:42.063 回答