Вы можете помещать все, что хотите, в файл cookie для аутентификации, если это полезно для вас. Тем не менее, если вы размещаете конфиденциальную информацию, вы должны, по крайней мере, зашифровать ее, но я бы рекомендовал не размещать там конфиденциальную информацию. Вы можете сделать что-то вроде:
Forms.SetAuthCookie (UserName + "|" + UserId, true);
Тогда, когда вам нужно имя пользователя или идентификатор пользователя, оно есть. Просто загрузите куки и разберите нужные вам значения.
Опять же, Я бы посоветовал не делать этого, тем более что я представил это выше . Тем не менее, это возможно. Вы должны создать методы доступа, чтобы вытащить данные обратно:
public int CurrentUserId
{
get
{
int userId = 0;
if (HttpContext.Current.Request.IsAuthenticated)
{
userId = Convert.ToInt32(HttpContext.Current.User.Identity.Name.Split('|')[1]);
}
return userId;
}
}
public string CurrentUserName
{
get
{
string userName = string.Empty;
if (HttpContext.Current.Request.IsAuthenticated)
{
userName = HttpContext.Current.User.Identity.Name.Split('|')[0];
}
return userName;
}
}