asp.net mvc 5 identity 2.0 注册时密码强度验证

密码强度验证分两部分,一部分是客户端,即浏览器中进行验证,另一部分是 identity 的 UserManager 中进行的。
密码强度先在浏览器端进行简单的验证,该部分代码使用 HtmlHelper+DataAnnotation 实现,在view model中相应属性上使用不同的data anotation,htmlhelper可以生成对应效果的html。
在 UserManager 中验证的部分通过配置 UserManager 的 PasswordValidator 实现,通常在继承类的 Create 方法中为其赋值一个新的 PasswordValidator。

data annotations

代码:

    public class RegisterViewModel{[Required][EmailAddress][Display(Name = "Email")]public string Email { get; set; }[Required][StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)][DataType(DataType.Password)][Display(Name = "Password")]public string Password { get; set; }[DataType(DataType.Password)][Display(Name = "Confirm password")][Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]public string ConfirmPassword { get; set; }}

解释:
* Required - 限定不能为空白
* StringLength - 限定最小长度
* Compare - 比较两个字符串是否相同
这些 特性并不能直接产生效果,是通过 HtmlHelper 解释后才得到我们想要的效果。

identity

在 App_Start/IdentityConfig.cs文件中 ApplicationUserManager.Create 静态方法中:

// Configure validation logic for passwordsmanager.PasswordValidator = new PasswordValidator{RequiredLength = 8,RequireNonLetterOrDigit = true,RequireDigit = true,RequireLowercase = true,RequireUppercase = true,};

asp.net mvc 5 identity 2.0 注册时密码强度验证相关推荐

  1. ASP.NET MVC模型绑定int超出范围时

    ASP.NET MVC后台在接受int 参数时,如果html页面输入的数值不是介于-2,147,483,648 到 2,147,483,647.那么ASP.NET MVC会自动将其转换成0 转载于:h ...

  2. 【HTML、CSS、JS】注册页面实现(带验证码,密码强度验证,表格提交验证等)

    由于是个刚学这方面的菜鸡,所以好多代码都是从各个大佬那儿粘贴复制过来的orz,边搬运边学习吧可以说是.以下为部分参考.图片字体我都在网上找的,没有商用应该不犯法吧quq 密码强度检测:https:// ...

  3. asp.net2.0密码强度验证

    1.建立Default.aspx文件,代码如下: <%@ Page Language="C#" AutoEventWireup="true"  CodeF ...

  4. Spring.NET企业架构实践之 Nhibernate + WCF + ASP.NET MVC + NVelocity 对PetShop4.0重构(三)——持久层...

    什么是持久层?先解释什么是持久,英文persistence,将内存中的数据固化,保持在物理储存设备中.然而在企业应用中,往往通过关系型数据库来完成这一过程.那么持久层的定义是:相对于三层架构中的表示层 ...

  5. 如何基于asp.net core的Identity框架在mysql上作身份验证处理

    首先了解这个概念,我一开始也是理解和掌握基本的概念,再去做程序的开发.Identity框架是微软自己提供,基于.net core平台,可拓展.轻量 级.面向多个数据库的身份验证框架.IdentityS ...

  6. 使用 Java Mail 实现注册时邮箱激活验证功能

    最近在做毕设中实现注册功能时使用到了邮箱激活验证,在此总结下. 简介 JavaMail 是提供给开发者处理电子邮件相关的编程接口,它是 SUN 发布的用来处理 email 的 API ,它可以方便地执 ...

  7. 全国计算机注册时密码为什么老是错误,电脑密码正确却显示密码错误怎么办

    大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答. 电脑密码正确却显示密码错误的解决方法如下: 1.反复确定密码的输入是否真的正确. 2.检查输入时,是不是字母大小写没有区分开.如果 ...

  8. C# 6 与 .NET Core 1.0 高级编程 - 41 ASP.NET MVC(上)

    译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 41 ASP.NET MVC(上)),不对的地方欢迎指出与交流. 章节出自<Professional C# ...

  9. ASP.NET MVC 5 02 - ASP.NET MVC 1-5 各版本特点

    参考书籍:<ASP.NET MVC 4 高级编程>.<ASP.NET MVC 5 高级编程>.<C#高级编程(第8版)>.<使用ASP.NET MVC开发企业 ...

最新文章

  1. Activity如何后台运行?不是缓存,是运行。
  2. 第二章 向量(d5)有序向量:插值查找
  3. 转载-- http接口、api接口、RPC接口、RMI、webservice、Restful等概念
  4. VTK:结构化网格之StructuredGrid
  5. 后端技术:Nginx + Spring Boot 实现负载均衡
  6. Redis集群搭建笔记
  7. mallcloud商城基于SpringBoot2.x
  8. es6 作为属性名的 Symbol
  9. 一个核物理学霸为何两次收到BlackHat的邀请
  10. MyCat分片规则之一致性hash分片
  11. 2021大厂Java面试真题(分布式 )
  12. visual studio code输入感叹号没有提示
  13. 我的世界服务器空岛删除怎么找回,我的世界-删除空岛指令 岛屿删除指令分享...
  14. Request和Response的概述及其方法
  15. 计算机免费取名,电脑免费婴儿取名
  16. 【微信开发|PHP】设置关注自动回复,关键词自动回复。
  17. 利用selenium携带cookies实现免登录
  18. web之大文件断点续传
  19. c++四种cast的原理和用途
  20. Linux 内核clk 硬件相关层

热门文章

  1. vue2.0_实现图片上传前进行压缩(约10倍)
  2. Kaggle上分技巧——单模K折交叉验证训练+多模型融合
  3. oracle9i升级oracle10g
  4. quartz简单配置
  5. LVDS接口和LVDS技术
  6. 几个有创意有趣的网站推荐
  7. GitHub上README.md排版样式教程
  8. 电子招投标系统EBD
  9. 接收灵敏度的定义公式
  10. Qt编写数据可视化大屏界面电子看板10-改造QCustomPlot