using Microsoft.AspNet.Identity;

public ActionResult AddRole(String name)
{
  using (var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(new IdentityDbContext())))
{
    
if (!roleManager.RoleExists(name))
    {
      
roleManager.Create(new IdentityRole(name));
    
}
  
}
} 另一种方法: 1、在 App_Start\IdentityConfig.cs 文件中配置应用程序角色管理器
public class ApplicationRoleManager : RoleManager<IdentityRole>
{
  public ApplicationRoleManager(IRoleStore<IdentityRole, string> roleStore) : base(roleStore)
  {
  }
  public static ApplicationRoleManager Create(IdentityFactoryOptions<ApplicationRoleManager> options, IOwinContext context)
  {
    return new ApplicationRoleManager(new RoleStore<IdentityRole>(context.Get<ApplicationDbContext>()));
  }
} 2、在 App_Start\Startup.Auth.cs 文件中添加 app.CreatePerOwinContext<ApplicationRoleManager>(ApplicationRoleManager.Create);
public void ConfigureAuth(IAppBuilder app)
{
  // 配置数据库上下文、用户管理器和登录管理器,以便为每个请求使用单个实例
  app.CreatePerOwinContext(ApplicationDbContext.Create);
  app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
  app.CreatePerOwinContext<ApplicationRoleManager>(ApplicationRoleManager.Create);
  app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create);
  ......
} 3、在需要用的地方,输入以下代码,用于创建 RoleManager 实例
private ApplicationRoleManager _roleManager;
public ApplicationRoleManager RoleManager
{
  get
  {
    return _roleManager ?? HttpContext.GetOwinContext().Get<ApplicationRoleManager>();
  }
  private set
  {
    _roleManager = value;
  }
} 这样就可以使用以下代码创建、编辑和删除角色了。
var result = await RoleManager.CreateAsync(new IdentityRole(name));
var result = await RoleManager.UpdateAsync(role);
var result = await RoleManager.DeleteAsync(role);

最新文章

  1. SQL Server已提交读快照隔离级别的设置
  2. Windows 7 封装与定制不完全教程
  3. SVM中图像常用的HOG特征描述及实现
  4. Linux文件系统的主要目录结构说明及分区方案
  5. 【deep learning学习笔记】注释yusugomori的LR代码 --- LogisticRegression.h
  6. php基础-cookie&amp;session
  7. Vue重修02
  8. Oracle的条件in包含NULL时的处理
  9. Linux 下 解压zip文件出现乱码
  10. Socket.IO学习之基础入门
  11. [转]客户端js判断文件类型和文件大小即限制上传大小
  12. Qt5数据库
  13. Windows下MongoDB安装配置
  14. Quartz2D指定显示范围
  15. 中断标志位 IRQF_ONESHOT
  16. Mysql的基本操作(一)增、删、改
  17. 201709025工作日记--更新UI方法
  18. BZOJ1597: [Usaco2008 Mar]土地购买(dp 斜率优化)
  19. 【前端】直击源头的让你3秒理解并且会用Jsonp!!!
  20. Android系列教程(十六) 在电脑上装Android

热门文章

  1. 基于WebForm+EasyUI的业务管理系统形成之旅 -- 数据统计(Ⅳ)
  2. ArcGIS for Android示例解析之空间查询-----QueryTask
  3. hadoop学习笔记——基础知识及安装
  4. LightOJ 1220 Mysterious Bacteria 水题
  5. 关于NSLocalizedString(@&quot;Foo %@&quot;,nil)
  6. JSP-讲解(生成java类、静态导入与动态导入)
  7. 洛谷P1220 关路灯
  8. 设置Windows的TCP/IP属性和内部网络号码
  9. 安装Go语言开发环境
  10. java 实现视频转换通用工具类:获取视频元数据信息(一)