Членство в ASP.NET getuserbyID - PullRequest
       3

Членство в ASP.NET getuserbyID

3 голосов
/ 05 сентября 2011

Как я могу получить пользователя по идентификатору?MembershipUser mu = Membership.GetUser ("Имя пользователя");Но я хочу получить пользователя по идентификатору, а не по имени.

Ответы [ 4 ]

4 голосов
/ 05 сентября 2011
MembershipUser u = Membership.GetUser(id);

Это будет работать (ожидается объект ProviderUserKey), который является GUID поставщиком членства asp.net по умолчанию.

1 голос
/ 05 сентября 2011

Если вы используете (или наследуете) стандартный SqlMemberShipProvider , вы можете использовать MembershipProvider.GetUser(providerUserKey, userIsOnline).

Где providerUserKey - GUID, а userIsOnline - логическое значение, которое указываетдолжна ли обновляться дата / время последнего действия для указанного пользователя или нет.

http://msdn.microsoft.com/en-us/library/ms152128.aspx

1 голос
/ 05 сентября 2011

Если вы используете встроенный MembershipProvider, вам придется написать вспомогательный метод, который выполнит эту работу за вас и вернет экземпляр MembershipUser на основе идентификатора запроса.

Если вы используете собственный пользовательский MembershipProvider, в этом случае вы можете создать перегрузку метода для Membership.GetUser (), которая будет принимать Id и возвращать экземпляр MembershipUser. Однако вам нужно будет привести экземпляр по умолчанию MembershipProvider к типу вашего пользовательского MemberdhipProvider, чтобы получить типобезопасный доступ

1 голос
/ 05 сентября 2011

Поскольку имена пользователей уникальны, вы можете запросить таблицу базы данных приложения Users, чтобы получить UserName для определенного UserID и передать результат в Membership.GetUser("UserName");

...