Поставщик членства в ASP.NET: динамически задайте имя приложения - PullRequest
0 голосов
/ 25 июля 2011

Я создаю службу WCF для совместного использования всех операций членства (таких как создание пользователя, вход в систему, изменение пароля и т. Д.) Между несколькими приложениями (веб-сайты, WS, приложение для iPhone и т. Д.) С использованием поставщика членства ASP.NET.

Я хочу также хранить информацию о приложении, отправляющем запрос.

Мне интересно, имеет ли смысл динамически устанавливать приложение провайдера Membershio? Назовите так, чтобы хранить эту информацию в таблицах членства? Так как провайдер является единичным, это будет что-то вроде:

System.Web.Security.Membership.ApplicationName = application;
bool isValid = System.Web.Security.Membership.ValidateUser(username, password);

Это на самом деле работает, но не знаю, является ли это правильным использованием и может ли это вызвать какие-либо проблемы в будущем. Обычно, насколько мне известно, имя приложения происходит из Web.config (но в моем сценарии оно всегда будет таким же, как в WCF), и я не видел ни одного примера, где это свойство было бы динамически установлено.

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

Любые предложения приветствуются!

1 Ответ

1 голос
/ 25 июля 2011

Это не то, для чего предназначено имя приложения в поставщиках членства.

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

Имя приложения предназначено для того, чтобы несколько приложений могли совместно использовать одну и ту же базу данных, но при этом держать своих пользователей изолированными - веб-сайт, настроенный с помощью приложения app1, не будет делить пользователей с приложением app2, даже если они совместно используют одну и ту же базу данных физического членства. .

Войдите в другое место!

...