2013-11-27 3 views
1

У меня есть сайт, созданный в Visual Studio 2010, когда я запускаю сайт в 2010 году, элемент управления LoginView корректно срабатывает, обнаруживает, что я вошел в систему, и отображает имя домена \ username. Однако, когда я запускаю сайт в Visual Studio 2013 Pro, элемент управления LoginView отображает анонимный шаблон. Почему это происходит? Есть ли обходной путь?Почему LoginView ведет себя так, как будто я не вошел в систему?

+0

Не могли бы вы убедиться, что '' inside web.config - это то же самое в обоих VS? – Win

+0

То же самое, оба имеют ''. Будет ли открытие решения с 2010 года в 2013 году привести к изменению web.config? – RGS

ответ

1

Это не ответ. Вместо этого он поможет вам отладить, почему он не работает.

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (User.Identity.IsAuthenticated) 
    { 
     var sb = new StringBuilder(); 
     var id = (FormsIdentity) User.Identity; 
     var ticket = id.Ticket; 
     sb.Append("Authenticated"); 
     sb.Append("<br/>CookiePath: " + ticket.CookiePath); 
     sb.Append("<br/>Expiration: " + ticket.Expiration); 
     sb.Append("<br/>Expired: " + ticket.Expired); 
     sb.Append("<br/>IsPersistent: " + ticket.IsPersistent); 
     sb.Append("<br/>IssueDate: " + ticket.IssueDate); 
     sb.Append("<br/>Name: " + ticket.Name); 
     sb.Append("<br/>UserData: " + ticket.UserData); 
     sb.Append("<br/>Version: " + ticket.Version); 
     Label1.Text = sb.ToString(); 
    } 
    else 
     Label1.Text = "Not Authenticated"; 
}