新网站创建和安全/身份验证 - 我应该使用ASP.net Membership Provider吗?

6

似乎有很多种方法可以解决这个问题,但哪一种是最好且最容易实现的呢?看起来ASP.net Membership Provider是能够节省更多时间的方法,所以我的问题是:

  1. Membership的优缺点是什么?
  2. 如何将自动生成的用户数据库与您自己定制的数据库集成?例如客户/订单/产品数据库。(我们在这里谈论的是MS Sql)
  3. 哪里可以找到一个好的教程,而且是最新的?

非常感谢。

3个回答

5

Membership是轻量级且易于设置的。您还可以使用各种提供程序来使用Active Directory或其他成员位置。

您不需要集成数据库,可以使用一个数据库来验证用户,只要他们是有效的,就可以查询另一个数据库以获取数据。这是保持信息分离的好方法,出于安全原因。

对于一个好的教程,我建议: http://msdn.microsoft.com/en-us/library/yh26yfzy.aspx

如果您想创建自己的成员资格提供程序:http://www.asp.net/learn/videos/video-189.aspx


3

总体而言,我认为它是不错的,但我可以想到几个小缺点:

  • 角色只是字符串,没有办法附加其他信息,除非自己编写代码。
  • 一些登录控件没有正确设置默认按钮,因此在输入字段中按“enter”键不起作用。您可以通过自己设置来解决这个问题。
  • 没有默认方法要求密码中包含数字,只有符号。
  • 使用SqlMembershipProvider的登录控件不显示特定的“用户已被锁定”消息。

这可能是一个优点或缺点,取决于您的观点:

  • 在SqlMembershipProvider中,用户名不区分大小写。

您可以通过设置passwordStrengthRegularExpression属性来添加正则表达式以要求密码包含数字。 - Even Mien
在SqlMembershipProvider中,用户名不区分大小写。 - Jim Evans

1
教程 - ASP.Net 网站上有一系列很好的教程。我们已经使用了成员提供程序设施,并将其与我们的数据库集成 - 我们使用“用户名”值作为我们自己表格中附加“业务”信息的外键。
该系统在最小化编码的情况下运行良好。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接