这些ASP.NET身份,成员资格是什么?什么时候使用它们?

时间:2015-08-13 04:51:20

标签: c# mysql asp.net asp.net-membership asp.net-identity

我有一个使用ASP.NET开发的网站,DB是MYSQL。在那里,用户身份验证是针对表中的注册用户完成的。

那么这个ASP.NET身份是什么?会员?的东西。什么时候使用它们? 他们是安全的方法吗?它们与我目前的做法有何不同?

非常感谢。

2 个答案:

答案 0 :(得分:0)

Aspnet.Identity是对用户进行身份验证的方法。它让您的生活变得简单,创建用于生成cookie的代码,维护数据库关系,密码恢复,密码加密,电子邮件集成,扩展身份验证以与Twitter,Facebook,Google等链接。还有很多“针对注册的用户身份验证表中的用户。“

您可以在此处找到有关身份的更多信息:http://www.asp.net/identity/overview/getting-started/introduction-to-aspnet-identity

Microsoft一直在不断改进身份,使其更安全。但是,如果开发人员犯了错误,总会有方法,也无法帮助。

然而,鉴于所有更新 - 身份代码已经发生了很大变化,因此1年前有效的解决方案不再有效。人们需要深入挖掘以进行自定义的简单更改。

以下是如何将Identity与MySQL等自定义存储提供程序集成:http://www.asp.net/identity/overview/getting-started/aspnet-identity-using-mysql-storage-with-an-entityframework-mysql-provider

请注意,默认情况下,主键是GUID,目前没有简单的方法可以将MySQL的主要集成更改为INT。您可以在此处找到更多详细信息:https://forums.asp.net/t/2062668.aspx?How+to+change+primary+key+for+Identity+with+MySQL+as+storage+provider

此外,MySQL和LINQ集成存在许多问题。延迟加载问题等。即使对Identity代码进行少量自定义,这也会非常明显。如果您想包含用于身份验证的身份,我强烈建议转移到MS SQL而不是MySQL

答案 1 :(得分:0)

ASP.NET成员资格为您提供了一种验证和存储用户凭据的内置方法。因此,ASP.NET成员资格可帮助您管理Web站点中的用户身份验证。通过使用ASP.NET登录控件创建用于对用户进行身份验证的完整系统,可以将ASP.NET成员身份与ASP.NET表单身份验证结合使用。

ASP.NET成员资格支持以下设施:

  • 创建新用户和密码。
  • 在Microsoft SQL Server,Active Directory或备用数据存储中存储成员资格信息(用户名,密码和支持数据)。
  • 验证访问您网站的用户。您可以通过编程方式对用户进行身份验证,也可以使用ASP.NET登录控件来创建一个完整的身份验证系统,该系统只需要很少或不需要代码。
  • 管理密码,包括创建,更改和重置密码。 - 根据您选择的成员资格选项,会员系统还可以提供自动密码重置系统,该系统可以提供用户提供的问题和响应。
  • 为经过身份验证的用户公开唯一标识,您可以在自己的应用程序中使用该标识,并且还可以与ASP.NET个性化和角色管理(授权)系统集成。
  • 指定自定义成员资格提供程序,允许您替换自己的代码来管理成员资格并维护自定义数据存储中的成员资格数据

何时使用

如果要使用ASP.NET登录控件或自定义登录表单设计创建登录/注册表单身份验证,则可以使用ASP.NET成员身份。

以下是关于如何使用ASP.NET成员https://msdn.microsoft.com/en-us/library/ms731049(v=vs.110).aspx

的完整内容