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

Posted

技术标签:

【中文标题】新站点创建和安全/身份验证,- 我应该使用 ASP.net Membership Provider 吗?【英文标题】:New site creation and security/authentication,- should I use ASP.net Membership Provider? 【发布时间】:2010-09-14 18:59:26 【问题描述】:

似乎有很多方法可以给这只特殊的猫剥皮 - 但这是最​​好的和最容易实现的。似乎 ASP.net Membership Provider 会节省更多时间,所以我的问题是:

    会员资格有哪些优点/缺点? 如何将自动生成的用户数据库与您自己定制的数据库集成?例如客户/订单/产品数据库。 (顺便说一句,我们在这里谈论的是 MS Sql) 在哪里可以找到最新的好教程?

非常感谢。

【问题讨论】:

【参考方案1】:

总的来说,我给它一个大拇指,但我能想到几个小缺点:

角色只是字符串,如果不滚动您自己的代码,就无法将其他信息附加到它们。 某些登录控件未正确设置其默认按钮,因此在输入字段中按“回车”键不会执行任何操作。您可以自行设置来解决此问题。 密码中没有要求数字的默认方式,只有符号。 带有 SqlMembershipProvider 的登录控件不显示特定的“用户被锁定”消息。

是好是坏,取决于你的观点:

SqlMembershipProvider 中的用户名不区分大小写

【讨论】:

您可以通过设置 passwordStrengthRegularExpression 属性来添加正则表达式来要求数字。 SqlMembershipProvider 中的用户名不区分大小写。【参考方案2】:

教程 - ASP.Net 网站上有一系列很好的教程。我们使用了会员提供工具,并将其与我们的数据库集成 - 我们使用“用户名”值作为我们自己的表的外键以及额外的“业务”信息。

该系统以最少的编码运行良好。

【讨论】:

【参考方案3】:

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

您不需要集成数据库,您可以使用一个来对用户进行身份验证,然后只要它们有效,就可以去另一个数据库查询数据。出于安全原因,这是将信息分开的好方法。

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

如果您想创建自己的会员提供商:http://www.asp.net/learn/videos/video-189.aspx

【讨论】:

以上是关于新站点创建和安全/身份验证,- 我应该使用 ASP.net Membership Provider 吗?的主要内容,如果未能解决你的问题,请参考以下文章

将 .asp 页面重定向到我的新站点的主页

ASP.NET MVC 和 WCF 服务安全 - 身份验证、路由

ASP.NET MVC Web API 身份验证令牌安全问题

使用 ASP.NET 标识和 JWT 令牌的 Azure 函数身份验证

使用 Active Directory 中的安全组的 Asp.Net 基于角色的身份验证

ASP.NET 2.0 中的 Windows 身份验证