$("#myframe").load(function() {
alert("loaded");
});
Вы можете добавить пользовательские данные в FormsAuthenticationTicket, а затем самостоятельно сгенерировать cookie.
В документации MSDN для FormsAuthenticationTicket есть пример.
EDIT
Обратите внимание, что при создании заявки вам необходимо установить тайм-аут, который, как правило, должен быть таким же, как и значение, настроенное в web.config. К сожалению, в Framework 3.5 или более ранней версии класс FormsAuthentication
не раскрывает этот тайм-аут публично. Для обходного пути используйте один из методов, описанных в ответе на этот элемент обратной связи подключения .
ОБНОВЛЕНИЕ
К сожалению, элемента обратной связи подключения больше нет. Хотелось бы, чтобы вы кратко описали, каковы были методы.
Да, жаль, что Microsoft отказалась от исторических элементов Connect. IIRC,
Передайте этот идентификатор пользователя в качестве параметра userName.
FormsAuthentication.SetAuthCookie(userId, True)
Как вы защищаете свои билеты аутентификации?
Вы можете поместить в файл cookie аутентификации все, что захотите, если это будет вам полезно. Тем не менее, если вы размещаете конфиденциальную информацию, вам следует, по крайней мере, зашифровать ее, но я бы не рекомендовал размещать там конфиденциальную информацию. Вы можете сделать что-то вроде:
Forms.SetAuthCookie (UserName + "|" + UserId, true);
Затем, когда вам понадобится имя пользователя или идентификатор пользователя, они будут там. Просто загрузите cookie и проанализируйте нужные вам значения.
Опять же, Я бы не советовал делать это, тем более, что я представил это выше . Тем не менее, это возможно. Вы должны создать методы доступа для возврата данных:
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;
}
}