【发布时间】:2013-09-06 13:03:12
【问题描述】:
在微软将 ASP.NET Identity 框架更新到版本 1.0.0-rc1 后,我找不到任何文档或指导如何使用它。 github 上有 2 个示例项目(one、two),但它们不包括令牌、密码重置、角色等高级内容。
【问题讨论】:
标签: asp.net asp.net-mvc-5 asp.net-identity
在微软将 ASP.NET Identity 框架更新到版本 1.0.0-rc1 后,我找不到任何文档或指导如何使用它。 github 上有 2 个示例项目(one、two),但它们不包括令牌、密码重置、角色等高级内容。
【问题讨论】:
标签: asp.net asp.net-mvc-5 asp.net-identity
我相信唯一真正的文档是这个论坛上的回复。自测试版以来,几个实体的结构也发生了变化。
我还可以处理一些更深入的信息,尤其是
【讨论】:
我已将一个名为 WebCustomUser 的项目添加到 https://github.com/onybo/Asp.Net-Identity-RC1-sample-app/tree/master/WebApplication。
这个项目演示了方法的使用:
实现用户帐户的令牌激活。
更新: 该项目现在包括一个自定义实体框架模型,其中包含添加了电子邮件地址的自定义用户(仅作为示例)。
包含显示 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"});
}
【讨论】:
您可以找到身份库 here 的夜间构建示例。
【讨论】: