2010-12-16 89 views
3

我是一个新的Asp.net Mvc程序员,我正在开发一个使用代码第一个实体框架的网站。Asp.net mvc codefirst和身份验证

我知道在mvc项目里面有一个内置的会员提供商,甚至我可以使用自定义会员提供商来改变我的品味。

但我不知道是否最好忘记会员提供商并自行实施所有这些(登录,身份验证......)以获得更好的完整性? 这是耗时的。

你可以告诉我哪一个更好。

问候

回答

2

有自带的.NET框架SQL成员资格提供(http://msdn.microsoft.com/en-us/library/system.web.security.sqlmembershipprovider.aspx),其您可以使用。我会仔细看看。如果它不适合你的需求,那么建立你自己的。

我总是建立我自己的,因为我喜欢完全控制数据模型。我工作的大多数网站,我只需要在会员供应商中实施ValidateUser(),但是您需要实施的全部内容取决于您使用会员供应商所做的事情。当涉及到实施提供商时,我使用YAGNI方法。我只实现我知道要调用的方法。

如果这是针对您正在构建的产品,那么我会继续并实施一切,因为您不知道其他开发人员可能会使用您的产品。

2

ASP.NET成员资格提供程序是一个很好的身份验证框架。您可以通过将成员资格提供程序添加到数据库或在现有数据库的ontop上轻松扩展该框架。

对于身份验证,状态管理,加密,散列和角色等ASP.NET成员资格提供程序,您已经为您做了很多努力。为什么重新发明轮子?

您可以轻松调用预构建的ASP.NET成员函数并节省您自己的工作量。

除了节省时间编程一个新的,可能是容易出错的身份验证服务,您还将使用.NET行业标准。这意味着如果你在使用它时遇到了问题,在你面前有更多的问题已经面临同样的问题。您还可以使您的身份验证易于管理,因为这是一种标准,其他人则可以轻松地将其提取并运行。