Asp.net переопределяет настройки Membership во времени выполнения (asp.net mvc)

У меня было приложение, которое сцепилось на 1 единую базу данных.

Приложение теперь должно сцепиться в несколько баз данных. То, что мы хотим сделать, использование того же dir приложения/домена/имени хоста/виртуального дает пользователю опцию на экране входа в систему для выбора "Приложения/Базы данных", в которое они хотят соединиться.

Каждая база данных имеет Приложение tables/data/procs/etc, а также aspnet материал членства/ролей.

Когда пользователь вводит имя пользователя и выбирает (список выборки) приложение, я хочу проверить пользователя против базы данных выбранных приложений.

В настоящее время строка соединения с базой данных для сервисов членства сохраняется в web.config. Есть ли какой-либо способ, которым я могу переопределить это во время входа в систему? Кроме того, мне нужно, "помнят меня" функция для работы гладко также. Как это работает, когда пользователь возвращается к приложению через 5 часов... Этот процесс должен смочь идентифицировать пользователя и приложение и войти в систему соответственно.

5
задан minalg 12 April 2010 в 23:25
поделиться

2 ответа

Единственный возможный способ - изменить строку подключения через отражение:

// Set private property of Membership provider.FieldInfo connectionStringField 
= GetType().BaseType.GetField("_sqlConnectionString", BindingFlags.Instance | BindingFlags.NonPublic);
        connectionStringField.SetValue(this, connectionString);

Нашел здесь: http://forums.asp.net/p/997608/2209437.aspx

Почему бы просто не реализовать свой собственный membershipprovider? Это очень просто сделать, и тогда у вас будет полный контроль над происходящим. Я уверен, что вы придумаете другой пользовательский сценарий, с которым не будет хорошо работать стандартный провайдер.

AFAIK функция remember me должна работать именно так, как вы описываете, пока пользователь не удалит свои cookies.

5
ответ дан 14 December 2019 в 19:07
поделиться

Ниже - это ссылка на пример использования нескольких строк подключения для ваших поставщиков членства.

Форум ASP.NET - несколько поставщиков

0
ответ дан 14 December 2019 в 19:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: