2013-03-10 87 views
0

這是我第一次接觸MVC,所以請爲我理解。首先:

oAuth的自定義會員服務商

1)如果我將實現與SQL數據庫自定義成員資格供應商,我的方法通過電子郵件激活的用戶,把用戶導入數據庫等。(和只有一個表 - tableUsers),this solution about oAuth and Facebook login will works properly?老實說,我一點也不清楚。

2)什麼解決方案更好。我的自定義會員供應商,或使用默認?
我想發送我的自定義激活電子郵件,然後激活帳戶。稍後,我想在userProfile表中添加新列 - 「ID類型」和「isActivated」。
我將在單獨的表格(電話,網站,關於我,愛好等)中存儲有關用戶的其他信息 - 我將通過userProfile中的IDuser獲取此數據。
更重要的是,我想通過Facebook或Twitter使用登錄方法。我在asp.net網站上找到了解決方案,如何與Oauth做到這一點。



我需要選擇什麼解決方案?
Regards

回答

1

什麼解決方案更好。我的自定義會員供應商,或使用默認?

由於您希望將額外的用戶信息存儲在數據庫中,因此您將需要創建自己的自定義成員資格提供程序,因爲默認的程序缺乏這種靈活性。此外,對於默認的成員資格提供程序,您將無法使用激活電子郵件來驗證您的用戶。你將不得不定製它。

如何與Oauth做到這一點?

在VS 2012中隨MVC4一起提供的默認Membership Provider有能力使用Facebook和Twitter進行登錄,您甚至可以添加更多LinkedIn。但是,由於您需要創建自定義會員供應商來存儲其他信息,因此您可以使用DotNetOpenAuth庫。它與默認的成員資格提供程序使用的相同。您可以通過Nuget添加它。

+0

感謝您的回覆。如果我將實現自定義成員資格提供程序,是否必須使用登錄方法更改某些內容?我怎樣才能得到當前用戶與自定義m.provider? – whoah 2013-03-10 12:39:03

+0

@whoah在默認成員資格提供程序中創建自定義成員資格提供程序,覆蓋所需的方法,這樣您也可以使用默認成員資格方法。否則,您也可以爲自定義提供程序實現自己的'GetUser()'方法。你可以找到下面的鏈接來創建自定義成員資格提供程http://msdn.microsoft.com/en-us/library/ms366730.aspx – 2013-03-10 12:42:33

+0

好吧,所以我不必考慮登錄方法?或者我必須改變一些東西?登錄方法如何知道密碼和登錄的位置以及數據庫中密碼的插入方式? – whoah 2013-03-10 13:50:43