C# ASP.NET身份更改验证
我想为我创建的几个网站使用ASP.NET标识,并且我确实想在每个网站上使用相同的数据库 当我尝试用同一封电子邮件注册两个用户时,我会得到“Name******已被占用”。我已经在IdentityConfig中设置了字段“RequireUniqueEmail=false” 在AspNetUsers中,我有一个名为“web_id”的字段。应该可以在一个web_id内创建一个相同的用户,但应该可以在不同的web_id上创建具有相同电子邮件的用户C# ASP.NET身份更改验证,c#,asp.net,asp.net-mvc,asp.net-identity,identity,C#,Asp.net,Asp.net Mvc,Asp.net Identity,Identity,我想为我创建的几个网站使用ASP.NET标识,并且我确实想在每个网站上使用相同的数据库 当我尝试用同一封电子邮件注册两个用户时,我会得到“Name******已被占用”。我已经在IdentityConfig中设置了字段“RequireUniqueEmail=false” 在AspNetUsers中,我有一个名为“web_id”的字段。应该可以在一个web_id内创建一个相同的用户,但应该可以在不同的web_id上创建具有相同电子邮件的用户 有人知道我怎么做吗?这是Identity UserVal
有人知道我怎么做吗?这是Identity UserValidator的源代码。您可以看到,如果设置为“RequireUniqueEmail=false”,它将不再验证电子邮件,这并不理想 我可以想到两种解决方案:
谢谢你的回答。如果我设置“RequireUniqueEmail=false”,我仍然会收到此错误消息-“名称o******@hotmail.com已被采用。我正在使用Identity的最新版本。如何使它们成为db模式中的分组键/索引?创建UserValidator的子类似乎是最好的选择,但我不知道如何用自己的逻辑实现它。。你有这样做的例子吗?不幸的是,我没有这个例子,也许你可以谷歌“用户验证身份自定义”并自己解决。这里有一个,实际上帮助很大。谢谢我已经通过了UserValidator,但是现在我遇到了一个新问题。“一个或多个实体的验证失败。有关详细信息,请参阅'EntityValidationErrors'属性。”它显示为“错误行”var result=wait UserManager.CreateAsync(用户、模型、密码);似乎在CustomUserValidator之后,它又检查了一次,因为我尝试了一次try/catch,我得到了这样的消息:ErrorMessage“用户名o*********@hotmail.com已经被占用了。”。