我需要關於此的建議。在sqlmembership提供程序中設置facebook用戶名
我使用Facebook連接和註冊用戶登錄後(我將它們添加到我的數據庫)。
我正在使用sqlmembership提供程序。 目前我正在獲取Facebook用戶全名並將其用作用戶名。 但我遇到的問題是,如果2人具有相同的名稱,它不會註冊第二個用戶。
我該如何處理用戶名?我想追加facebook id,然後在網站中使用用戶名時截斷?有點醜陋,但想不到更好的方法。
有什麼建議嗎?
我需要關於此的建議。在sqlmembership提供程序中設置facebook用戶名
我使用Facebook連接和註冊用戶登錄後(我將它們添加到我的數據庫)。
我正在使用sqlmembership提供程序。 目前我正在獲取Facebook用戶全名並將其用作用戶名。 但我遇到的問題是,如果2人具有相同的名稱,它不會註冊第二個用戶。
我該如何處理用戶名?我想追加facebook id,然後在網站中使用用戶名時截斷?有點醜陋,但想不到更好的方法。
有什麼建議嗎?
您需要facebook ID;您可以將它存儲在會話中,或者創建一個自定義IPrincipal和/或IIdentity並將其與用戶信息一起存儲。
HTH。
考慮創建一個自定義的Sql成員資格提供程序,我爲自己的應用程序自己使用該方案,這樣您就可以對要存儲數據的方式進行細粒度控制。 看一看
http://www.asp.net/general/videos/how-do-i-create-a-custom-membership-provider
&
http://www.asp.net/general/videos/how-do-i-create-a-custom-profile-provider
爲什麼要使用一些很可能會改變(的人的名字)。人們結婚,或者爲自己製造一些愚蠢的綽號,而這些綽號常常被一些人改變。
爲什麼不使用ID?你總是可以用另一個表格(SqlMembership之外的)來存儲該用戶的最近名字
我之前做過這個。
這是我的表:
FacebookUniqueID BIGINT, PRIMARY KEY
FacebookEmail NVARCHAR(100), NULL
我還可以存儲其他東西進行審覈,但是這是關鍵信息。
現在,你將總是獲得Facebook用戶ID。但你不會總是獲取用戶的電子郵件地址 - 因爲他們可以拒絕訪問 - 因此我允許NULL。
我存儲電子郵件的原因是,唯一ID不足以將用戶結婚直至系統中的用戶。
在SqlMembershipProvider中,用戶名通常是電子郵件地址。
所以我使用「FacebookEmail」字段來鏈接用戶。
如果他們不允許你的電子郵件地址,你將無法執行單一的登錄。 (例如,當他們通過Facebook驗證後,會自動將他們簽入您的網站)。
但至少如果他們最終授予您權限,您可以更新數據庫中的電子郵件字段,然後執行單一登錄。
HTH
如果我這樣做,我應該如何處理顯示不同的用戶名。例如,我的網站註冊用戶將顯示他們的用戶名,而當我使用時會顯示Facebook用戶的facebookID:Context.User.Identity.Name – raklos 2010-12-23 13:06:48