У меня есть приложение, которое создает пользователей с помощью автоматизированного процесса, который включает в себя и 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);