Как получить идентификатор текущего вошедшего в систему пользователя? - PullRequest
4 голосов
/ 18 апреля 2011

Я работаю над примером проекта, созданного из шаблона веб-приложения ASP.NET (веб-формы, а не MVC). После входа пользователя в систему я хочу получить идентификатор пользователя и сохранить его в переменной сеанса, чтобы я мог передавать его между страницами. Как получить идентификатор пользователя от поставщика членства ASP.NET? По идентификатору пользователя я имею в виду GUID в базе данных членства. Есть ли способ получить идентификатор пользователя?

Я использую схему базы данных по умолчанию и развернул ее на моем сервере.

Спасибо!

Ответы [ 3 ]

9 голосов
/ 18 апреля 2011

Попробуйте это:

MembershipUser membershipUser = Membership.GetUser();
string UserID = membershipUser.ProviderUserKey.ToString();
5 голосов
/ 18 апреля 2011

Вам не нужно передавать идентификатор пользователя. Текущий аутентифицированный пользователь хранится в HttpContext.Current.User .

1 голос
/ 19 ноября 2012

вы можете определить статический метод в классе и использовать его:

public static Guid getCurrentUserGUID(){
    if (HttpContext.Current.User.Identity.IsAuthenticated)
    {
        MembershipUser myObject;
        myObject = Membership.GetUser(HttpContext.Current.User.Identity.Name);
        return (Guid)myObject.ProviderUserKey;
    }
    return Guid.Empty;       
}
...