我正在研究 ASP.NET 身份。默认情况下,AspNetUsers table
带有几列,例如:ID, UserName, HashPassword, Email, EmailConfirmed, Phone
等。
默认情况下,ID
列是Primary Key
,UserName
具有Unique Constraint
。
如何使其他字段(如Email
和/或Phone
)具有与UserName
相同的unique constraint
?
到目前为止我做了什么:
我设法手动将唯一约束添加到数据库中,但是,与UserName
字段不同,我无法在应用程序级别进行验证。例如:如果用户尝试使用相同的用户名注册帐户,UserName
字段将显示错误消息"名称 XXX 已被占用"。
要在 UserManager 层强制实施唯一性,您可以实现自己的 IUserValidator 并检查您的自定义唯一性规则