我想使用Identity.EntityFramework“:”3.0.0-rc1-final“在VS 2015中实现用户和角色管理器。
其中我创建了一个类IdentityManager。
我的主要问题是创建一个检查角色是否存在的方法,如下所示。
public bool RoleExists(string name)
{
var RoleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(new ApplicationDbContext()));
return RoleManager.RoleExists(name);
}
我一直在new RoleManager<IdentityRole>
上收到错误:
没有给出的参数对应于roleValidators,keyNormalizer,errors,logger,contextAccessor“
是的,基本上我没有指定的所有参数,但我不知道如何处理这些参数。
我很陌生并一直在寻找和尝试几天,如果有人能指出我正确的方向我愿意做腿部和测试,我只需要一些文档。
答案 0 :(得分:1)
我遇到了类似的问题 - 看起来角色不是身份3.0中的最佳选择
这个帖子(ASP .NET 5 MVC 6 Identity 3 Roles Claims Groups)帮助我得到了一些有用的东西,但遗憾的是,这并没有更好的记录。
以下是我尝试改进的方法。 Asp.net.Identity(3.0.0.0-rc1-final)
在Startup.cs中 - &gt; ConfigurationServices
//在此处定义您的政策,它们是与声明类型相关联的字符串,具有声明字符串...
//他们需要在AspNetUserClaims表,用户ID,部门,Dev中被允许访问Dev策略
//添加auth选项,在下面使它工作,并在api控制器中添加
// [授权(“Dev”)]属性
//services.AddAuthorization(
// options =&gt;
// {
// options.AddPolicy(“Dev”,policy =&gt; {policy.RequireClaim(“department”,“Dev”);});
//});