Microsoft.AspNetCore.Identity AllowedUserNameCharacters не работает должным образом - PullRequest
0 голосов
/ 08 октября 2018

У меня есть приложение, которое создает пользователей с помощью автоматизированного процесса, который включает в себя и XML-файл для загрузки всей информации об удостоверениях.

По умолчанию в удостоверениях не разрешены некоторые имена пользователей, поскольку они не включены в значение по умолчанию «Разрешенное имя пользователя»символов.

Итак, при запуске я отредактировал его, чтобы добавить еще несколько символов.

services.AddIdentity<ApplicationUser, IdentityRole>(options =>
{
    options.User.AllowedUserNameCharacters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._@+'#!/^%{}*";
})
    .AddEntityFrameworkStores<IdentityContext>()
    .AddDefaultTokenProviders();

Теперь он разрешает все символы, а не только те, которые я указал в этой строке.Например, он позволил мне создать пользователя с "! # $% ^ * () ~` - = _ + [] {} \ | ;: '", ./<>?uming®" в качестве имени пользователя. Есть ли что-тоОчевидно, я делаю неправильно?

И вот как я создал пользователя.

var newAppUser = new ApplicationUser
{
    FirstName = "First",
    LastName = "Last",
    UserName = "!#$%^*()~`-=_+[]{}\|;:', ./<>?©®",
    NormalizedUserName = "!#$%^*()~`-=_+[]{}\|;:', ./<>?©®",
    Email = "nothing@nothing.com",
    NormalizedEmail = "nothing@nothing.com".ToUpper(),
    LockoutEnabled = true,
    LockoutEnd = DateTime.Now,
    IsDisabled = false
};

string password = RandomPasswordService.Generate();
var result = await _userManager.CreateAsync(newAppUser, password);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...