我是一名新的Asp.net Mvc程序员,我正在开发一个使用代码第一实体框架的网站。
我知道mvc项目中有一个内置的成员资格提供者,甚至我可以使用自定义成员资格提供程序来改变我的口味。
但我不确定是否最好忘记会员提供者并自己实施所有这些(登录,身份验证等)以获得更好的诚信? 这很耗时。
你能不能告诉我哪一个更好。
此致
答案 0 :(得分:2)
您可以使用.NET框架附带的SQL成员资格提供程序(http://msdn.microsoft.com/en-us/library/system.web.security.sqlmembershipprovider.aspx)。我会仔细看看。如果它不符合您的需求,那么建立自己的。
我总是建立自己的,因为我喜欢完全控制数据模型。我工作的大多数站点,我只需要在成员资格提供程序中实现ValidateUser()
,但您需要实现的纯粹取决于您使用成员资格提供程序执行的操作。在实现提供程序时,我使用YAGNI方法。我只实现了我知道将被调用的方法。
如果这是针对您正在构建的产品,那么我会继续实施所有内容,因为您永远不知道其他开发人员可能会使用您的产品。
答案 1 :(得分:2)
ASP.NET Membership Provider是一个出色的身份验证框架。您可以通过将成员资格提供程序添加到数据库或构建现有数据库的ontop来轻松扩展框架。
在身份验证,状态管理,加密,散列和角色方面,ASP.NET成员资格提供程序已经为您完成了艰苦的工作,仅举几个功能。为什么重新发明轮子?
您可以轻松调用预先构建的ASP.NET成员函数,并节省大量工作。
除了节省编写新的,可能容易出错的身份验证服务的时间外,您还将使用.NET行业标准。这意味着如果您在使用它时遇到问题,那么在您遇到相同问题之前还有很多问题。您还可以将身份验证设置为可管理的,因为它是一个标准,其他人则可以轻松获取并运行它。