簡體   English   中英

在 Microsoft.AspNetCore.Identity Identity 中使用非 ASCII 字符

[英]Using non-ASCII characters in Microsoft.AspNetCore.Identity Identity

我想將用戶名設置為中文單詞,文檔

services.Configure<IdentityOptions>(options =>
{
   options.User.AllowedUserNameCharacters =
   "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._@+";
});

我想像這樣將單詞設置為中文單詞

var user = new IdentityUser { Email = "admin@xxx.com", UserName = "管理員" };
var result= userManager.CreateAsync(user, "admin123456"); // 等待異步方法執行完畢

結果是 Id = 1, Status = RanToCompletion, Method = "{null}", Result = "Failed : InvalidUserName"

這是 ASP.NET Core Identity 的默認行為。 您可以執行以下操作來禁用驗證:

services.Configure<IdentityOptions>(options =>
{
    options.User.AllowedUserNameCharacters = null;
});

此外,更改您的代碼,如下所示:

//add await....
var result = await _userManager.CreateAsync(user, "AD@admin123456");

筆記:

默認密碼包含大寫字符、小寫字符、數字和非字母數字字符。 密碼長度必須至少為六個字符。

如果你不自定義密碼驗證,這里的admin123456是無效的,你還是需要一個大寫字符和一個非字母數字字符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM