免费建网站的,网站搭建价格表,wordpress下载插件美化,怎样下载模板做网站#xff08;此花无日不春风#xff09;其实IdentityServer4的小项目已经基本完结了#xff0c;但是我总感觉还是有很多东西没有深入挖掘和研究的#xff0c;这不#xff0c;二群里有小伙伴问到了一个常见的问题#xff0c;因为我去年都见到了#xff0c;一直没有想过去解… 此花无日不春风其实IdentityServer4的小项目已经基本完结了但是我总感觉还是有很多东西没有深入挖掘和研究的这不二群里有小伙伴问到了一个常见的问题因为我去年都见到了一直没有想过去解决它花了半个小时研究代码和搜索资料后基本解决了分享出来让更多的人了解这是一个小品文不会讲原理一笔带过就说说如何操作即可。1、问题的由来其实这个问题很简单我相信任何做过Ids4授权认证的都应该遇到过其实准确来说是用过微软官方Identity类库的应该遇到过就是注册的时候提示强密码策略奇烦相信你一看就能明白官方默认的密码是强密码策略要英文数字大小写特殊符号而且昵称、姓名还只能是字母和数据怎么看就不舒服虽然我也一直坚持了很长时间那有没有办法修改下呢还真的有。其实好的框架就是这样的有限制就会有配置这才是好的框架那关键是如何修改这个配置其实很简单这里有两种方案你任意使用即可。2、如何修改默认配置1、AddIdentity 内配置我就直接上代码了都有注释 services.AddIdentityApplicationUser, 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};}).AddEntityFrameworkStoresApplicationDbContext().AddDefaultTokenProviders();
你要是看不懂那可就是真的底子太薄了需要恶补了。我现在是有以下几个规则1、不对用户名进行限制可以是中文2、密码只需要小写英文和数字即可3、长度至少是八位其他的我就放开了这样比较人性化一点当然如果你感觉这么配置不好看也可以用这种方案。2、单独配置具体的我就不解释了和上边的都一样只不过是单独拎出来了 services.ConfigureIdentityOptions(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、如何添加第三方的登录方式等等等等。未来还是有很多路要走加油