在哪里可以找到ASP.NET Identity RC1的文档



在Microsoft将ASP.NET Identity framework更新到1.0.0-rc1版本后,我找不到任何文档或指南来使用它。github上有两个示例项目(一个、两个),但它们没有涵盖令牌、密码重置、角色等高级内容。

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

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

  • 链接到您自己的自定义用户表
  • 从控制器的User属性访问此自定义表
  • 从authorize属性访问用户和角色,而不考虑实际登录方法(local、gmail、twitter等)

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

该项目演示了以下方法的使用:

  • SignInAsync需要令牌确认
  • 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"});
    }

您可以在这里找到标识库夜间构建的示例。

相关内容

  • 没有找到相关文章