Согласование данных пользователя с SID вместо имени пользователя?

56
9

Все примеры, которые я могу найти для хранения/фильтрации данных в Lightswitch, в конечном итоге сравнивают имена пользователей напрямую, например:

partial void OrdersForUser_PreprocessQuery(ref IQueryable query)
{
// Only show the Orders for the current user
query = query.Where(x => x.UserName == this.Application.User.Identity.Name);
}

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

Доступен ли пользовательский идентификатор членства ASP.NET (ориентир) или SID где-нибудь?

спросил(а) 2013-09-25T04:19:00+04:00 6 лет, 8 месяцев назад
1
Решение
86

Чтобы получить UserID UserID от имени пользователя, вы можете использовать:

MembershipUser CurrentUser = Membership.GetUser(this.Application.User.Identity.Name);
Guid userGuid = (Guid)CurrentUser.ProviderUserKey;

ответил(а) 2013-09-26T20:07:00+04:00 6 лет, 8 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема