Создать пользователя в другом Membership.ApplicationName - PullRequest
1 голос
/ 06 декабря 2010

У меня есть веб-сайт администрации - пользователи которого должны иметь возможность изменять пользователей для публичного сайта. Это означает, что на сайте администрирования есть действительный поставщик членства, но я хочу иметь возможность доступа / изменения участников на другом сайте (и, следовательно, ApplicationName).

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

Вторая мысль заключалась в дублировании записи MembershipProvider в web.config - так что теперь я могу сделать WebSiteMembershipProvider = Membership.Providers («WebsiteSqlMembershipProvider») - но теперь я не могу получить объект «Membership», который будет позвольте мне (например) вызвать стандартный метод CreateUser.

Я попробовал WebSiteMembershipProvider.CreateUser - но он загружает больше параметров и, похоже, ничего не делает, если я вставляю в него некоторые значения.

Я почти там? Или мне нужен другой подход? Там всегда есть хранимые процедуры SqlProvider, я полагаю ...

Ответы [ 2 ]

1 голос
/ 07 декабря 2010

Я использовал что-то вроде этого:

var _provider = Membership.Providers["WebsiteSqlMembershipProvider"];
_provider.CreateUser(userName, password, email, null, null, true, null, out status);

НТН.

0 голосов
/ 06 декабря 2010

но требуется больше параметров

Pass в нули

MembershipCreateStatus status; 
MembershipUser u = CreateUser(username, password, email,null,null,true, out status);

и, кажется, ничего не делает, если я вставьте в него некоторые значения.

Должен. Не могли бы вы опубликовать соответствующий раздел web.config?

...