Asp.net mvc 如何处理ASP.NET MVC应用程序中的成员资格?

Asp.net mvc 如何处理ASP.NET MVC应用程序中的成员资格?,asp.net-mvc,membership,Asp.net Mvc,Membership,您将如何处理ASP.NET MVC应用程序中的成员身份?使用任何外部库?您将如何进行OpenID登录?用户名登录?电子邮件登录?还有什么值得研究的吗?也许所有这些都混合到了应用程序中 似乎ASP.NET附带了一些预构建的用户数据库(我对.NET完全陌生)。NerdDinner示例使用它,但它使外键使用用户名。听起来不太好。您是使用两个独立数据库的模式,还是只使用一个?您使用什么作为外键,任何ID 我找到了,有人在用吗?它工作得好吗?它可以被维护吗?成员资格提供程序对ASP.Net MVC来说并不

您将如何处理ASP.NET MVC应用程序中的成员身份?使用任何外部库?您将如何进行OpenID登录?用户名登录?电子邮件登录?还有什么值得研究的吗?也许所有这些都混合到了应用程序中

似乎ASP.NET附带了一些预构建的用户数据库(我对.NET完全陌生)。NerdDinner示例使用它,但它使外键使用用户名。听起来不太好。您是使用两个独立数据库的模式,还是只使用一个?您使用什么作为外键,任何ID


我找到了,有人在用吗?它工作得好吗?它可以被维护吗?

成员资格提供程序对ASP.Net MVC来说并不新鲜,它们是在ASP.Net 2.0中引入的。 成员资格提供程序模型只是应用程序和验证用户身份的任何源之间的抽象层。只需更改web.config文件,即可轻松切换提供程序

编写成员资格提供者很容易,web上有许多演练。通常,如果您使用的数据库使用的模式与ASP.Net附带的默认示例不同(大多数情况下都是这样),您会这样做。NerdDinner示例中用户名上的外键是一个非常简单的示例,在任何实际数据库中都很少看到


我强烈建议使用会员模式。像Login控件这样的控件是为了利用它而构建的,它设计得很好,可以很容易地为应用程序更改或组合不同的登录方法。如果你想使用OpenID,谷歌快速搜索就会发现这一点。

推荐会员提供商,因为MVC应用程序的控件是不适用的,因为服务器端控件是MVC比特避免的事情之一,就像瘟疫一样。我不同意“编写会员提供商很容易”。提供程序不易扩展。如果你想自己滚,你必须覆盖所有的方法。。。还有很多。无论如何,对于许多应用程序来说,Membershipsystem确实是一个不错的选择。@blowdart-true,但是MVC和ASP.Net并不是相互排斥的,您仍然应该利用成员资格提供程序@Mathias—您所要做的就是实现接口。由于大多数应用程序只需要ValidateUser()函数来登录用户,而不需要用户管理-我发现大多数情况下,您实际上只需要实现其中一个函数。@Mathias Fritsch您只需要对实际使用的方法进行过度编译。