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

时间:2013-09-03 10:23:31

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

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

3 个答案:

答案 0 :(得分:1)

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

我还可以使用更深入的信息,特别是

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

答案 1 :(得分:1)

我已将名为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"});
    }

答案 2 :(得分:0)

您可以在身份库here的每晚构建中找到样本。