更改Asp.NET身份验证以注册电子邮件地址,但从不使用用户名

时间:2014-06-02 20:52:40

标签: c# asp.net-mvc identity

This link here列出要更改的模型类和视图类属性,以提示用户输入电子邮件和密码,而不是默认的用户名和Asp.NET身份验证所需的密码。但是,它没有演示如何删除在Identity中为用户注册时创建用户名的要求。

有人能指出我可以从身份验证中完全删除用户名要求的资源吗?我不希望我的用户必须完成这个无关紧要的步骤。

更新::

根据身份电子邮件身份验证的this example here,安装Visual Studio 2013 Update 2允许用户使用电子邮件完成注册,而不是用户名

enter image description here

大耶。

2 个答案:

答案 0 :(得分:1)

最好的方法是创建自己的自定义用户验证程序。使用自定义验证器,您可以编写自己的逻辑来检查用户名是否有效(在您的情况下,如果用户名是电子邮件地址)。此方法不会从Identity中删除用户名,但会确保您的用户名是有效的电子邮件地址。

可以找到如何实现一个示例here。请注意,此解决方案基于Identity 1.0构建。然而,它应该以同样的方式工作。

BTW,您的链接指向简单成员资格(如@Anthony所述),而不是您提出的其他问题中提到的ASP.NET身份。

修改

正如评论中所提到的,这里的答案是:

我还没有尝试过,但我猜想当你使用Entity Framework实现时,这是不可能的。在那里,实现使用IdentityUser类来实现Identity的IUser接口。甚至IUser接口也包含用户名属性。

答案 1 :(得分:1)

更新::

根据this example here关于身份电子邮件身份验证,安装Visual Studio 2013 Update 2允许(使用MVC Web模板)用户完成电子邮件注册,而不是用户名

enter image description here

大耶。