Создание пользователя с одинаковыми именем пользователя и адресом электронной почты всегда возвращает неверное имя пользователя - PullRequest
0 голосов
/ 16 апреля 2019

Пытался создать пользователя в таблицах идентификаторов, используя ядро ​​.net.Но он всегда возвращает ошибку недопустимый UserName.

        var user = new ApplicationUser();
        user.UserName = "SuperAdmin1@gmail.com";
        user.Email = "SuperAdmin1@gmail.com";

        string userPWD = "Admin@123";

        var chkUser = await UserManager.CreateAsync(user, userPWD);

ConfigureServices это следующим образом.

 public void ConfigureServices(IServiceCollection services)
    {
        services.Configure<CookiePolicyOptions>(options =>
        {

            options.CheckConsentNeeded = context => true;
            options.MinimumSameSitePolicy = SameSiteMode.None;
        });
        services.AddDbContext<ApplicationDbContext>(options =>
                                                                   options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

        services.AddIdentity<ApplicationUser, IdentityRole>(options =>
        {
            options.User.AllowedUserNameCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._@/";
        })
         .AddEntityFrameworkStores<ApplicationDbContext>().AddDefaultTokenProviders();

        services.Configure<IdentityOptions>(options =>
        {
            // Default Password settings.
            options.Password.RequireDigit = true;
            options.Password.RequireLowercase = true;
            options.Password.RequireNonAlphanumeric = true;
            options.Password.RequireUppercase = true;
            options.Password.RequiredLength = 6;
            options.Password.RequiredUniqueChars = 1;
        });
        services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
    }

уже добавлен AllowedUserNameCharacters как "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 -._@/"

1008 * Новсе еще возвращает ошибку Имя пользователя '' недопустимо, может содержать только буквы или цифры.

1 Ответ

0 голосов
/ 16 апреля 2019

Вы можете отключить это ограничение на валидаторе пользователя:

UserManager.UserValidator = new UserValidator<TUser>(UserManager) { AllowOnlyAlphanumericUserNames = false }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...