在ASP.NET MVC中管理用户的最佳方法是什么

时间:2012-03-23 19:04:59

标签: c# asp.net .net asp.net-mvc-3

我是ASP.NET MVC的新手。我已经从PHP切换到了它。

在PHP中,当我创建一个管理用户的页面时,我经常创建表Users和Profiles并将数据存储在其中。在ASP.NET中,有成员资格和配置文件提供程序。

所以,我的问题是,在ASP.NET MVC中管理用户的最佳方法是什么?我应该像在PHP中创建自定义表格和逻辑,还是应该创建自定义提供程序?

我知道,关于这个问题有很多类似的话题。但是,它们都不是我所需要的。

先谢谢你,迈克。

3 个答案:

答案 0 :(得分:3)

使用ASP.Net Memebership不重新创建轮子,

http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-7

答案 1 :(得分:2)

可能应该说没有最好的办法。最好是暧昧。

我想说有三种一般类型的方法可以使用SQL服务器来完成用户和角色(我之前提到这是因为你提到了表格)。

首先:使用内置的ASP.NET(webforms / mvc不可知)SqlMembership Provider。它包含了管理用户所需的大多数功能。这很可能是最快的实现,但最不可扩展。强烈建议这样做。

第二:构建您自己的[Membership Provider],遵循Membership provider 模式,但是从SQL到Application引入您自己的逻辑。构建自己的提供可能是一个相当漫长的过程,但您仍然可以获得所有不错的功能,并且可以在其他项目中使用,因为它是它自己的提供者而不依赖于应用程序。

第三:从头开始构建自己的逻辑。除非您打算像独立应用程序一样构建它,否则我不会建议这样做。

答案 2 :(得分:2)

我同意奥斯卡和狂热 - 不要重新发明轮子。 ASP.NET成员资格提供程序应该为您提供一个良好的开端。但是,如果您是TDD的粉丝,您可能会发现您需要将成员资格提供程序实现封装在您可以控制的类中,以便您可以处理模拟。会员提供商合同非常庞大且紧密耦合,我通过经验发现,您最终只使用了30-40%的野兽。创建自己的合同并使用它与会员提供商进行交互。你以后会感谢自己。

祝你好运!