我在ASP.NET MVC3中創建網站(足球,足球),我希望有用戶(其他信息,然後用戶在默認會員,這些是普通遊客)和球員,我認爲這是最好的他們會繼承用戶,並有一些附加信息作爲着裝號碼...玩家也可以發佈文章,用戶可以評論文章。什麼是最好的方式來做到這一點?我應該使用默認會員提供商還是應該自己製作或使用一些第三方解決方案?你可以發表一些文章和教程改變原來的提供者或文章,爲自己的asp.net MVC3的提供者?或者它與MVC2相同?是否自定義會員資格
回答
創建您自己的會員供應商非常容易。只需創建從MembershipProvider派生的類。並實現查看DB的成員,例如(或任何其他數據源)。
public class YourMembershipClass: MembershipProvider
{
public override bool ValidateUser(string username, string password)
{
return YourDataLayer.ValidateUser(username, password);
}
public override MembershipUser GetUser(object providerUserKey, bool userIsOnline)
{
return YourDataLayer.GetSpecificUser(providerUserKey, userIsOnline);
}
// Implement the other methods as well
}
然後你YourMembershipClass添加到web.config中:
<membership defaultProvider="MlgMembership">
<providers>
<clear />
<add name="CustomMembership" type="YourMembershipClass" enablePasswordRetrieval="false" />
</providers>
</membership>
看看這個soccer俱樂部網站asp.net入門套件。
我建議實施您自己的會員供應商,這意味着只實施您需要的位,併爲您的所有用戶管理奠定基礎。
成員資格提供程序對於WebForms和MVC是一樣的,在SO和Google上有很多例子。
如果您正在尋找例如存儲配置文件類型的信息名字,姓名,職稱等,然後你應該可以使用內置於ASP.NET Membership中的Profile
系統。如果您想要存儲更多與身份相關的信息,那麼您需要創建某種自定義會員供應商。在ASP.NET網站上創建自定義提供商的視頻很好:http://www.asp.net/general/videos/how-do-i-create-a-custom-membership-provider
關於允許不同類型的用戶執行不同的操作,您可以使用ASP.NET Membership中內置的Roles
系統。您可以告訴您的操作方法只允許來自特定角色的用戶的呼叫。例如,如果你有一個PostArticle操作方法,你只希望玩家能夠訪問它,你就會有這樣的事情:
[Authorize(Roles="Player")]
public ActionResult PostArtcile(){
return View();
}
的Authorize
屬性告訴MVC只允許通過認證的用戶,在「播放器」的作用調用操作方法。您仍然需要限制前端文章鏈接的可用性,但有幾種方法可以做到這一點。
有一個偉大的系列賽的斯科特·米切爾的文章涵蓋了所有事情的會員制:http://www.4guysfromrolla.com/articles/120705-1.aspx
我建議你:
使用會員提供商只是處理 具有用戶註冊和 認證。並讓它照顧用戶安全的東西(休息密碼,驗證用戶....)
然後使用角色的 用戶分開,他們的角色(「玩家, normalUsers,..」)。
而且NEVER利用檔案提供 導致它的成本這麼多的流量,你 不想,而不是你能 使數據庫自定義表 儲存您的附加信息和。
然後,您可以使用EF或任何ORM獲取 這個信息,只要你想。
- 不要忘記在控制器和操作中使用授權屬性
[Authorize(Roles="Players")]
,這些授權屬性將在角色上消失。
- 1. 自定義.NET成員資格
- 2. 自定義成員資格提供
- 3. 使用自定義UserNamePasswordValidator或自定義成員資格提供
- 4. 自定義成員資格提供程序+自定義CodeAccessSecurityAttribute
- 5. 在ASP.NET中的2套自定義會員資格MVC
- 6. 如何TDD自定義成員資格提供者和自定義成員資格用戶?
- 7. 實現自定義成員資格提供者成員資格用戶問題
- 8. 自定義表格和成員資格之間的關係
- 9. 創建自定義會員
- 10. 鎖定了在ASP .NET自定義成員資格提供
- 11. 自定義成員資格提供程序中自定義字段的值
- 12. 會員資格是什麼意思?
- 13. 否定集合成員資格,等於
- 14. ASP.net在質量中心授權之上的自定義會員資格
- 15. 我可以使用asp.net會員資格建立自定義帳戶嗎?
- 16. ASP.NET自定義會員,會話
- 17. 用戶has_many成員資格和has_many組織通過成員資格。如何指定默認會員資格?
- 18. ASP.NET MVC會員資格
- 19. ASP.NET獲取自定義成員資格用戶的自定義成員資格問題 - 爲此對象定義的無參數構造函數
- 20. 測試自定義ASP.NET成員資格提供程序
- 21. 擴展自定義成員資格提供程序
- 22. 自定義成員資格和ASP.NET MVC 4
- 23. 基於自定義角色的授權(沒有成員資格)
- 24. Ninject和自定義成員資格提供MVC3
- 25. 自定義成員資格提供程序MVC 4
- 26. mvc實體框架中的自定義成員資格6
- 27. SqlRoleProvider +自定義成員資格提供程序
- 28. 另一個ASP.NET自定義成員資格/角色提供
- 29. asp.net mvc和自定義成員資格和角色提供者
- 30. 如何自定義asp.net成員資格的dbo.aspnet_Users表?