日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Ids4实战】深究配置——用户信息操作篇

發布時間:2023/12/4 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Ids4实战】深究配置——用户信息操作篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

(此花無日不春風)

其實IdentityServer4的小項目已經基本完結了,但是我總感覺還是有很多東西沒有深入挖掘和研究的,這不,二群里有小伙伴問到了一個常見的問題,因為我去年都見到了,一直沒有想過去解決它,花了半個小時研究代碼和搜索資料后,基本解決了,分享出來,讓更多的人了解,這是一個小品文,不會講原理,一筆帶過,就說說如何操作即可。

1、問題的由來

其實這個問題很簡單,我相信任何做過Ids4授權認證的都應該遇到過,其實準確來說是用過微軟官方Identity類庫的應該遇到過,就是注冊的時候,提示強密碼策略,奇煩:

相信你一看就能明白,官方默認的密碼是強密碼策略,要英文,數字,大小寫,特殊符號,而且昵稱、姓名,還只能是字母和數據,怎么看就不舒服,雖然我也一直堅持了很長時間,那有沒有辦法修改下呢,還真的有。

其實好的框架就是這樣的,有限制就會有配置,這才是好的框架,那關鍵是如何修改這個配置,其實很簡單,這里有兩種方案,你任意使用即可。

2、如何修改默認配置

1、AddIdentity 內配置

我就直接上代碼了,都有注釋:

services.AddIdentity<ApplicationUser, ApplicationRole>(options =>{options.User = new UserOptions{RequireUniqueEmail = true, //要求Email唯一AllowedUserNameCharacters = null //允許的用戶名字符,null表示不限制};options.Password = new PasswordOptions{RequiredLength = 8, //要求密碼最小長度,默認是 6 個字符RequireDigit = true, //要求有數字RequiredUniqueChars = 3, //要求至少要出現的字母數RequireLowercase = true, //要求小寫字母RequireNonAlphanumeric = false, //要求特殊字符RequireUppercase = false //要求大寫字母};options.Lockout = new LockoutOptions{AllowedForNewUsers = true, // 新用戶鎖定賬戶DefaultLockoutTimeSpan = TimeSpan.FromHours(1), //鎖定時長,默認是 5 分鐘MaxFailedAccessAttempts = 3 //登錄錯誤最大嘗試次數,默認 5 次};options.SignIn = new SignInOptions{RequireConfirmedEmail = true, //要求激活郵箱RequireConfirmedPhoneNumber = true //要求激活手機號};options.ClaimsIdentity = new ClaimsIdentityOptions{// 這里都是修改相應的Cliams聲明的RoleClaimType = "IdentityRole",UserIdClaimType = "IdentityId",SecurityStampClaimType = "SecurityStamp",UserNameClaimType = "IdentityName"};}).AddEntityFrameworkStores<ApplicationDbContext>().AddDefaultTokenProviders();

你要是看不懂,那可就是真的底子太薄了,需要惡補了。

我現在是有以下幾個規則:

1、不對用戶名進行限制,可以是中文;

2、密碼只需要小寫英文和數字即可;

3、長度至少是八位;

其他的,我就放開了,這樣比較人性化一點,當然,如果你感覺這么配置不好看,也可以用這種方案。

2、單獨配置

具體的我就不解釋了,和上邊的都一樣,只不過是單獨拎出來了:

services.Configure<IdentityOptions>(options =>{options.Password.RequireDigit = false;options.Password.RequireLowercase = false;options.Password.RequireNonAlphanumeric = false;options.Password.RequireUppercase = false;options.SignIn.RequireConfirmedEmail = false;options.SignIn.RequireConfirmedPhoneNumber = false;options.User.AllowedUserNameCharacters = null;});

3、結果展示

效果還是很明顯的,最后也是注冊成功:

(登錄頁)

(昵稱顯示)

當然,這只是冰山一角,還有很多很多的問題需要挖掘,比如:

1、注冊的時候,可以不用密碼加密么,或者自定義加密;

2、完整的修改密碼流程是什么;

3、如何添加第三方的登錄方式;

等等等等。

未來還是有很多路要走,加油!

總結

以上是生活随笔為你收集整理的【Ids4实战】深究配置——用户信息操作篇的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。