【问题标题】:Where I can find documentation for ASP.NET Identity RC1?在哪里可以找到 ASP.NET Identity RC1 的文档?
【发布时间】:2013-09-06 13:03:12
【问题描述】:

在微软将 ASP.NET Identity 框架更新到版本 1.0.0-rc1 后,我找不到任何文档或指导如何使用它。 github 上有 2 个示例项目(onetwo),但它们不包括令牌、密码重置、角色等高级内容。

【问题讨论】:

    标签: asp.net asp.net-mvc-5 asp.net-identity


    【解决方案1】:

    我相信唯一真正的文档是这个论坛上的回复。自测试版以来,几个实体的结构也发生了变化。

    我还可以处理一些更深入的信息,尤其是

    • 链接到您自己的自定义用户表
    • 可以从控制器的 User 属性访问此自定义表
    • 无论实际登录方法如何(本地、gmail、twitter 等),都可以通过授权属性访问用户和角色

    【讨论】:

      【解决方案2】:

      我已将一个名为 WebCustomUser 的项目添加到 https://github.com/onybo/Asp.Net-Identity-RC1-sample-app/tree/master/WebApplication

      这个项目演示了方法的使用:

      • RequireTokenConfirmationForSignInAsync
      • ConfirmSignInTokenAsync

      实现用户帐户的令牌激活。

      更新: 该项目现在包括一个自定义实体框架模型,其中包含添加了电子邮件地址的自定义用户(仅作为示例)。

      包含显示 ASP.NET 标识中的一些新类的两个图表的建模项目现在位于单独的解决方案中,以便可以在专业 SKU 中打开主解决方案。

      这里是修改后的注册动作和激活动作。

          [HttpPost]
          [AllowAnonymous]
          [ValidateAntiForgeryToken]
          public async Task<ActionResult> Register(RegisterViewModel model)
          {
              if (ModelState.IsValid)
              {
      
                  // Create a profile, password, and link the local login before signing in the user
                  User user = new User(model.UserName);
                  var result = await new UserManager(IdentityManager).CreateLocalUserAsync(user, model.Password);
                  if (result.Success)
                  {
                      var token = Guid.NewGuid();
                      var tokenResult = await AuthenticationManager.RequireTokenConfirmationForSignInAsync(token.ToString(), user.Id, DateTime.Now.AddDays(2));
                      if (tokenResult.Success)
                      {
                          return RedirectToAction("Registered", "Account", new { userId = user.Id.ToString(), token = token.ToString() });
                      }
                      else
                          AddModelError(tokenResult, "RequireTokenConfirmation failed");
                  }
                  else
                  {
                      AddModelError(result, "Failed to register user name: " + model.UserName);
                  }
              }
      
              // If we got this far, something failed, redisplay form
              return View(model);
          }
      
          [AllowAnonymous]
          public async Task<ActionResult> Activate(string userId, string token)
          {
              var tokenResult = await AuthenticationManager.ConfirmSignInTokenAsync(token);
              return RedirectToAction("Login", new {returnUrl="/home"});
          }
      

      【讨论】:

      • 顺便说一句,这个解决方案只能在 Visual Studio 的 Ultimate 版中打开。我安装了专业版,所以我运气不好。将 VS2013 Preview 升级到 Ultimate。
      【解决方案3】:

      您可以找到身份库 here 的夜间构建示例。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-09-04
        • 2018-02-20
        • 1970-01-01
        • 1970-01-01
        • 2023-03-16
        • 1970-01-01
        • 1970-01-01
        • 2019-08-23
        相关资源
        最近更新 更多