我正在创建一个新的应用程序并开始使用EF6-rc1,Microsoft.AspNet.Identity.Core 1.0.0-rc1,Microsoft.AspNet.Identity.EntityFramework 1.0.0-rc1,Microsoft.AspNet.Identity .Owin 1.0.0-rc1等昨天和RTM发布时,我今天晚上通过NuGet更新了它们到RTM.
除了我到目前为止所完成的工作的一些代码更改,所有似乎都进展顺利,直到我尝试为应用程序创建本地用户帐户.
我一直在处理电子邮件地址作为用户名格式,发布候选人工作得很好,但现在在创建一个用户名的电子邮件地址的用户时,它会引发以下验证错误:
User name xxxxx@xxxx.com is invalid, can only contain letters or digits.
Run Code Online (Sandbox Code Playgroud)
我花了大约一个小时左右的时间来搜索有关配置选项的解决方案或文档,但无济于事.
有没有办法可以配置它以允许用户名的电子邮件地址?
每当我使用visual studio 2013 express为web创建一个新应用程序并使用个人帐户身份验证并点击注册按钮时,我注意到它实现了"电子邮件"而不是"用户名",并且在LoginViewModel中也是如此,因为它使用Email来登录而不是用户名.如何将此更改为使用用户名而不是默认电子邮件?另外我想知道如何将字符串类型的默认'guid'转换为'id'(整数类型).
如何在新的ASP.NET身份系统中使用电子邮件而不是用户名?
我试着改变RegisterViewModel班级:
[Display(Name = "Email address")]
[Required(ErrorMessage = "The email address is required")]
[EmailAddress(ErrorMessage = "Invalid Email Address")]
public string UserName { get; set; }
Run Code Online (Sandbox Code Playgroud)
但是当我输入邮件地址时,我收到错误:
User name fsdfsd@fsdfsd.de is invalid, can only contain letters or digits.
Run Code Online (Sandbox Code Playgroud) 在新创建的ASP.NET MVC5应用程序中,登录屏幕会要求您输入电子邮件地址.但在引擎盖下,它使用用户名进行身份验证,假设为applicationUser.UserName== applicationUser.Email.
如何更改它以使其通过电子邮件地址验证用户?
这似乎是他们在这方面已经改变了身份2.X的东西.
注意:我想通过电子邮件登录.
例如,在注册视图中,我们的用户需要提供:
电子邮件: last.first@example.com
用户:最后,第一
在登录期间,将使用该电子邮件.目前,它使用电子邮件但身份验证失败,因为它将电子邮件作为用户名传递.
默认情况下,ASP.NET Identity将UserName和Email字段作为用户输入的电子邮件.我已经更改了它,以便我的系统为用户提供单独的用户名和电子邮件.
我的问题是现在我无法登录系统,因为Identity对UserName和Email都进行了检查.
我想知道是否有办法让这两个字段保持独立和独特,同时能够检查电子邮件字段以便登录系统?
我注意到public virtual Task<SignInStatus> PasswordSignInAsync(string userName, string password, bool isPersistent, bool shouldLockout);检查了userName,但是将其更改为电子邮件什么也没做,我仍然无法登录.
我还看了其他这些问题:
对于可能的解决方案,发现没有什么能让我做我想做的事.
还有什么我可以尝试以便拥有单独的用户名和电子邮件,同时仍然能够使用电子邮件字段登录吗?