zoukankan      html  css  js  c++  java
  • ASP.net core 2.0.0 中 asp.net identity 2.0.0 的基本使用(四)—用户注册

    修改用户注册

    1、修改用户名注册规则。

    打开Controllers目录下的AccountController.cs。

    在控制器中找到 public async Task<IActionResult> Register(RegisterViewModel model, string returnUrl = null) 中的

    var user = new ApplicationUser { UserName = model.Email, Email = model.Email };(223行)这里两个参数都是绑定的Email。

    改为

    var user = new ApplicationUser { UserName = model.UserName, Email = model.Email };

    更改后vs会提示下红波浪线(错误),选择纠错为“生成属性”的哪一项。注意:自动生成会是public string UserName { get; internal set; } 必须把internal set改为set,否则后期无法获取到值。

    2、修改用户注册的数据模型:

          修改Models文件夹下AccountViewModels目录下RegisterViewModel.cs模型内的public class RegisterViewModel 中添加   public string UserName { get; set; } 

          然后添加验证规则,完成后如下:

    [Required]
    [StringLength(20, ErrorMessage = "{0} 必须至少包含 {2} 个字符,最多20个字符。", MinimumLength = 6)]
    [Display(Name = "用户账号")]
    [DataType(DataType.Text)]
    [RegularExpression("^[a-zA-Z0-9_]{6,20}$", ErrorMessage = "用户名由字母或数字组成。")]
    public string UserName { get; set; }

    3、在Views文件夹的Account中的register.cshtml文件中(14行)添加“用户账号”代码:

    <div class="form-group">
    <label asp-for="UserName"></label>
    <input asp-for="UserName" class="form-control" />
    <span asp-validation-for="UserName" class="text-danger"></span>
    </div>

    4、修改login,因为改为了用户名注册,如果还用email登陆的话,一定出现错误。

    在Models文件夹下找AccountViewModels文件夹,找到LoginViewModel.cs添加 public string UserName { get; set; },规则可以复制上面的吧。另外就是要把email模型项去掉或者注释掉,否则你登陆不上去且还不给提示。

    5、在Views/Account文件夹中的login.cshtml文件中原来为“email”的地方改为“UserName”。

    6、打开Controllers目录下的AccountController.cs,找到public async Task<IActionResult> Login(LoginViewModel model, string returnUrl = null)中的

     var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure: false);

    改为

     var result = await _signInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, lockoutOnFailure: false);

    也就是把提示错误的Email换为UserName。

  • 相关阅读:
    [POJ1176]Party Lamps(DFS,规律)
    [POJ1598]Excuses, Excuses!(模拟)
    [POJ2192]Zipper(DFS,剪枝)
    [POJ2157]Maze(DFS)
    [POJ1950]Dessert(DFS)
    [HIHO1353]满减优惠(状压,枚举)
    [HIHO1177]顺子(暴力,枚举)
    [HIHO1152]Lucky Substrings(暴力,枚举)
    计蒜客 25985.Goldbach-米勒拉宾素数判定(大素数) (2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 B)
    计蒜客 28206.Runway Planning (BAPC 2014 Preliminary ACM-ICPC Asia Training League 暑假第一阶段第一场 F)
  • 原文地址:https://www.cnblogs.com/chonghanyu/p/7677996.html
Copyright © 2011-2022 走看看