在 asp.net 中创建用户 c# 身份不适用于希伯来语用户名

Create user in asp.net c# identity doesn't work with Hebrew user name

我正在使用 asp.net 身份进行授权和验证。我尝试用希伯来字母创建用户名,但没有成功。

使用旧会员资格,我可以使用希伯来语字符作为用户名。 Identity 是否可以使用非拉丁字符?

我想你可以尝试做这样的事情:

创建一个新的自定义用户验证器来执行您自己的自定义验证(您也可以使用正则表达式进行验证):

public class CustomUserValidator<TUser> : IIdentityValidator<TUser>
    where TUser : class, Microsoft.AspNet.Identity.IUser
{
    public CustomUserValidator(UserManager<TUser> manager)
    {
        _manager = manager;
    }

    public async Task<IdentityResult> ValidateAsync(TUser item)
    {
        // Your custom validation here
    }
}

然后当您创建应用程序用户管理器时,您可以将默认用户验证器设置为这个新验证器的一个实例 class:

manager.UserValidator = new CustomUserValidator<ApplicationUser>(manager)
{
    AllowOnlyAlphanumericUserNames = false,
    RequireUniqueEmail = true
};

[注意:] 默认验证器类似于:

manager.UserValidator = new UserValidator<ApplicationUser>(manager)
    {
        AllowOnlyAlphanumericUserNames = false,
    };