Установка ролей программно из консольного приложения - PullRequest
0 голосов
/ 12 ноября 2009

Я пишу установочное приложение для нашего веб-приложения. Одной из задач является настройка базы данных для встроенного 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);
}
...

Проблема в том, что при выполнении этого я получаю исключение, говорящее «Менеджер ролей не активирован», что, конечно, правильно, поскольку обычно роли обрабатываются только из веб-приложения.

Я нашел обходной путь для этого, выполнив встроенные хранимые процедуры напрямую, но мне любопытно, как решить эту проблему программно.

Ответы [ 2 ]

1 голос
/ 12 ноября 2009

не должно быть достаточно файла app.config?

0 голосов
/ 17 ноября 2009

Похоже, вы не правильно настроили своего членства-члена в вашем web.config Можете ли вы опубликовать раздел вашей конфигурации, где указан провайдер?

...