我在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表?