gpt4 book ai didi

asp.net-mvc - 如何在 VisualStudio 2013 RC AccountController.cs 中的 Microsoft.Owin.Security 中创建角色 - API 文档

转载 作者:行者123 更新时间:2023-12-01 22:54:31 31 4
gpt4 key购买 nike

在 VisualStudio 2013 RC 中,使用 MVC5,在 AccountController.cs 中,我不得不修改 Login 方法以调用 WebSecurity.Login,因为我仍在使用 WebSecurity 和 Webmatrix 来添加用户和用户角色。我使用 Entity Framework 6 种子方法使用 WebSecurity 和 Webmatrix API 填充用户和角色。在我的代码示例中,WebSecurity.Login 将处理本地用户帐户,而 CheckPasswordAndSignInAsync 将处理 Google 帐户登录。

OWIN 是否应该替代 Webmatrix 和 Websecurity API,如果是的话,Microsoft 用于创建角色和用户的 OWIN API 是什么?在 MSDN 中似乎找不到关于 OWIN 的太多文档。有没有人创建任何示例代码或知道任何解释的文档
如何使用微软的 OWIN 风格?您是否必须编写自己的代码来填充
角色和用户到 OWIN 生成的表,例如 AspNetUsers 和 AspNetUserRoles?

这是登录方法:

公共(public)异步任务登录(LoginViewModel 模型,字符串 returnUrl)
{

        if (ModelState.IsValid)
{
// Validate the password
IdentityResult result = await IdentityManager.Authentication.CheckPasswordAndSignInAsync(AuthenticationManager, model.UserName, model.Password, model.RememberMe);
if (result.Success)
{
return RedirectToLocal(returnUrl);
}
//added this for roles to work
else if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
{
return RedirectToLocal(returnUrl);
}

else
{
AddErrors(result);
}
}

// If we got this far, something failed, redisplay form
return View(model);
}

这是注销方法:
    // POST: /Account/LogOff
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult LogOff()
{
AuthenticationManager.SignOut();

WebSecurity.Logout();

return RedirectToAction("Index", "Home");

}

最佳答案

为了创建用户,您需要编写如下代码:

UserManager<ApplicationUser> userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));

var user = new ApplicationUser() { UserName = model.UserName };
// Add the Admin role to the user.
user.Roles.Add(new IdentityUserRole() { Role = new IdentityRole("Admin") });
var result = await UserManager.CreateAsync(user, model.Password);

if (result.Succeeded)
{
// Code after successfully creating the user.
}

关于asp.net-mvc - 如何在 VisualStudio 2013 RC AccountController.cs 中的 Microsoft.Owin.Security 中创建角色 - API 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19415393/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com