Необходимо ли переопределить членство и поставщиков ролей? - PullRequest
0 голосов
/ 26 июля 2010

Я работаю над веб-приложением и не хочу хранить строки подключения в сети или конфигурации приложения из-за требований.

Пока что я нашел единственный способ добиться этого - переопределить членство и поставщиков ролей.

Я также не до конца понимаю, почему я также должен переопределить поставщика ролей, когда вся аутентификация выполняется поставщиком членства?

Спасибо

Ответы [ 2 ]

1 голос
/ 26 июля 2010

Хотя SqlRoleProvider и SqlMembershipProvider являются отдельными задачами, они оба общаются с одной и той же базой данных (обычно).

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

Вы должны сделать ссылку наДругой вопрос, чтобы дать контекст и предотвратить помечать как дубликат.

0 голосов
/ 26 июля 2010

Я нашел в сети решение, которое немного взломало, но избавило меня от переопределения членства и поставщиков ролей.

Решение - установить строку соединения в global.asax с помощью отражения:

protected void Application_PreRequestHandlerExecute()
{
    try
    {
        SetProviderConnectionString(DllForConnectionStringManagement.GetConnectionString());
    }
    catch (Exception e)
    {
    // Log and throw
    }
}

SetProviderCOnnectionString - это закрытый метод, который устанавливает связи членства и поставщика ролей посредством отражения.

...