代码之家  ›  专栏  ›  技术社区  ›  Jonas Lincoln

从控制台应用程序以编程方式设置角色

  •  0
  • Jonas Lincoln  · 技术社区  · 14 年前

    我正在为我们的Web应用程序编写一个安装应用程序。其中一项任务是为内置的sqlRoleProvider设置数据库。我已经有了创建数据库的脚本, aspnet_regsql.exe -命令,但现在我在程序化地创建默认角色和用户映射时遇到了问题。

    我想做的是:

    ...
    private class UserRole
    {
        public string Username { get; set; }
        public string Role { get; set; }
    }
    ...
    
    const string applicationName = "foo";
    var roles = new List<string> { "Administrator", "Editor" };
    var userRoles =
        new List<UserRole>
            {
                new UserRole {Username = "joli", Role = "Administrator"},
                new UserRole {Username = "test", Role = "Editor"}
            };
    
    Roles.ApplicationName = applicationName;
    foreach (var userRole in userRoles)
    {
        Roles.AddUserToRole(userRole.Username, userRole.Role);
    }
    ...
    

    问题是,当运行这个程序时,我得到一个异常:“RoleManager没有被激活”,这当然是正确的,因为通常角色只从Web应用程序处理。

    我已经通过直接执行内置存储过程来解决这个问题,但是我很好奇如何通过编程解决这个问题。

    2 回复  |  直到 14 年前
        1
  •  1
  •   nWorx    14 年前

    app.config文件应该不够?

        2
  •  0
  •   user212767    14 年前

    似乎您没有在web.config中正确配置成员资格提供程序。你能把你配置的部分贴在规定提供者的地方吗?

    推荐文章