我一直在使用MVC3很長一段時間,現在我剛開始進入mongoDB。到目前爲止,我一直使用在Visual Studio中創建基本Web應用程序時提供的基本MembershipProvider系統。我以前沒有建立自己的。我知道這會爲你生成架構(dbo.aspnet_Users和dbo.aspnet_Membership),但其中很多都是無關緊要的。是否有一個教程,以獲得一個基本的登錄/註冊系統,直接從mongodb讀取..這是否甚至是一個好主意?或者我會保持我的用戶在一個單獨的SQL數據庫和所有其他數據在MongoDB?如何使用mongdb創建一個基本的用戶登錄/註冊
回答
我會讓用戶保留所有其他數據。如果你有一個用戶收藏,我覺得一個樣本文檔應該是這樣的:
用戶:
{
"_id" : ObjectId("507f1f77bcf86cd799439011"),
"username" : "bob123",
"password" : "ABC122939232DEFEFE",
"status" : "active", // could be "pending" or whatever
"email" : "[email protected]"
}
你給用戶,他們創建一個登錄名和密碼的登錄畫面。您可以考慮讓他們使用他們的電子郵件作爲登錄 - 這些日子相當標準。
確保不是以純文本形式存儲其密碼。而是通過散列函數運行它並存儲結果(http://en.wikipedia.org/wiki/Cryptographic_hash_function)。當他們登錄時,您輸入密碼並對其進行散列,然後將其與數據庫中的值進行比較。總是必須計劃有人竊取您的數據庫的不幸情況。 =(
那麼你也可以與用戶文檔中的標誌從什麼我管理自己的狀態。您可以通過發送一個鏈接,並讓他們訪問它使人們確認他們的電子郵件。
只是一些想法已經完成過去的簡單登錄
非常感謝您的回覆,如果我可以再問一步,如何將mongoDB連接到FormsAuthentication,以便在代碼中我可以調用諸如'Membership.GetUser()。ProviderKey'之類的東西,並使用th e [[Authorize]]屬性 – anthonypliu 2013-02-26 06:47:47
添加到@ ryan1234答案中,您可以使用[BCrypt.Net](https://www.nuget.org/packages/BCrypt-Official)來哈希密碼。 – parsh 2013-02-26 08:00:00
- 1. 用Javascript註冊用戶註冊登錄
- 2. 如何使用Laravel 5.1創建簡單的註冊和登錄?
- 3. openAuth註冊後創建本地登錄
- 4. 用戶註冊/登錄?
- 5. 創建一個登錄頁面,允許用戶註冊他的Facebook帳戶
- 6. Django註冊:如何防止登錄的用戶註冊?
- 7. 如何使用php和xampp創建登錄和註冊頁面
- 8. 創建第一,登錄或註冊後
- 9. 註冊然後登錄一個用戶使用Django
- 10. 如何使用password_hash註冊和登錄
- 11. 創建註冊註冊 - 新手用戶
- 12. 如何創建一個擁有3個不同角色和一個地點的用戶來註冊/登錄?
- 13. 使用scala登錄/註冊
- 14. 如何創建用戶註冊頁面
- 15. 如何使用Facebook登錄註冊用戶?
- 16. 如何使用AutoForm註冊用戶並登錄?
- 17. 如何使用Parse Server登錄/註冊用戶?
- 18. 註冊控制器如何使用Devise登錄用戶
- 19. 用戶註冊創建唯一的URL
- 20. 用Sorcery登錄用戶註冊
- 21. 創建多個用戶的「註冊表」
- 22. 使用laravel3 + sentry1創建/註冊用戶
- 23. 註冊用戶火力並登錄,如果已經註冊
- 24. 註冊後用戶如何登錄用戶?
- 25. 與登錄用戶在同一月註冊的用戶列表
- 26. 使用他們的Google帳戶註冊/登錄用戶?
- 27. 如何使用Dokuwiki創建一個通用的用戶手冊
- 28. 創建登錄/註冊表格
- 29. Inno Setup爲登錄用戶(不是管理員用戶)創建註冊表項
- 30. 流星autoform用戶註冊和登錄
有幾個.NET會員提供程序自定義實現,它使用MongoDB作爲後端數據庫。一個這樣的實現在這裏[GitHub](https://github.com/alanning/MongoProviders ) – parsh 2013-02-26 08:02:35