网站怎样建设才叫人性化,网站建设与管理案例教程ppt,网站设计高端,青海风控平台app下载应用系统项目的安全要求越来越高#xff0c;基本都是采取https等加密证书传输#xff0c;无法使用https的#xff0c;也是要求不能明文传输内容#xff0c;因此做一些等保要求#xff0c;密码需要加密后才能传输给服务端#xff0c;所以前端会采取一些密码手段#xff0…应用系统项目的安全要求越来越高基本都是采取https等加密证书传输无法使用https的也是要求不能明文传输内容因此做一些等保要求密码需要加密后才能传输给服务端所以前端会采取一些密码手段保证一定的安全性。
项目集成的IdentityServer3实现账户和密码登录如果前端做AES加密同时要求密码长度不少于8位这样把密码加密后再通过传输整个Password密码的长度会超过100个字符。然后在登录的时候即使输入正确的密码发现系统还是会跳转到登录页面好像没有起到什么用包括输入错误的密码。
问题原因
1、可以查看IdentityServer3源码InputLengthRestrictions Password的InputLengthRestrictions长度是100。
2、AuthenticationController的方法LoginLocal里有句判断 if (model.Username.Length options.InputLengthRestrictions.UserName || model.Password.Length options.InputLengthRestrictions.Password){Logger.Error(username or password submitted beyond allowed length);return await RenderLoginPage(signInMessage, signin);} 也就是如果密码长度超过100会自动判断到登录页面。 解决方案
将密码的InputLengthRestrictions设置长一点比如1000字符等如下图
可以在项目初始化的时候配置IdentityServerOptions属性设置InputLengthRestrictions.Password 1000即可。
IdentityServerOptions.InputLengthRestrictions.Password 1000;