我正在尝试在线跟踪教程,以帮助我在MVC项目中设置角色,但似乎无法理解所有内容。我的公司要求我创建我的项目Database First,而不是首先编写代码,所以我的角色已经存在于我的dbContext中。我不想创建一个控制器来索引,创建,编辑等我的角色,至少不是在这一步,但我 DO 想知道我的用户组是什么用户所属,然后将他们的userGroup称为他们的角色。
所以,我有两个模特;一个用户,一个用户组(基本上是“角色”表):
public partial class User : IdentityUser
{
public int UKey { get; set; }
public int UgKey { get; set; }
public string LastName { get; set; }
public string FirstName { get; set; }
public string MiddleName { get; set; }
public string EmailAddress { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public bool UseBrightreeAuth { get; set; }
public bool Active { get; set; }
}
public partial class UserGroup
{
public int UgKey { get; set; }
public string Name { get; set; }
public bool Active { get; set; }
}
我有一个帐户控制器来处理我的网站“登录”:
public ActionResult Login(LoginViewModel login)
{
if (!ModelState.IsValid)
{
ViewBag.Error = "Form is not valid; please review and try again.";
return View("Login");
}
using (var wfc = new WorkflowContext())
{
if(wfc.User.Where(x => x.Username == login.Username).Any())
{
//ignore the bad logic/LINQ, it's temporary...
var UserManager = new UserManager<User>(new UserStore<User>(wfc));
UserManager.AddToRole("UserName", "UserRole");
}
else
{
ViewBag.Error = "Credentials invalid. Please try again.";
return View("Login");
}
}
}
下面的代码行不会编译,说wfc不是一个有效的参数,但我不确定我应该使用什么呢?
//Where wfc is the Context that contains my User and UserGroup Tables
var UserManager = new UserManager<User>(new UserStore<User>(wfc));
我收到错误
无法从“Workflow.Models.WorkflowContext”转换为“System.Data.Entity.DbContext”
是否有更好的方法将用户添加到角色中,或者我是否误解了该过程?感谢。