2009-06-04 5 views
1

Ich habe gerade zu einem neuen ASP.NET-Host gewechselt und es scheint sich anders zu verhalten. Im Code für die Masterseite wird versucht, auch für authentifizierte Benutzer eine andere Logik zu verwenden.Warum ist Context.User jetzt auf der ASP.NET-Masterseite null?

if (Context.User.IsAuthenticated) { 
} 

Aber das Context.User Objekt ist null. Aber es ist nur Null auf der Masterseite. Wenn ich es auf der regulären Seite verwende, funktioniert es.

if (User.IsAuthenticated) { 
} 

Hat jemand eine Idee, was das Problem sein könnte? Ich habe vielleicht nicht viel Kontrolle über die Hosting-Umgebung, aber gibt es eine andere Möglichkeit, diese Informationen in der Masterseite zu erhalten?

WEITERE INFORMATIONEN:

Es scheint, dass die Context.User oder Page.User Objekt in beiden

  • Dashboard.aspx (welche Benutzer auf die Master-Seite Page.master) null ist und
  • Page.master

Aber es ist in

nicht null
  • TestUser.aspx (die keine Master-Seite nicht verwendet)
+0

Wo Sie diese Prüfung zu machen? – Keltex

+0

Es ist im Ereignis Page_Load. –

Antwort

6

Warum Sie nicht verwenden:

Page.User.IsAuthenticated 

auf der Masterseite?

+0

Ich habe das versucht, aber das gleiche Ergebnis. –

+0

Ich habe seitdem von dieser Anwendung entfernt und die MVC-Version der Website beendet, so dass dieses Problem kein Problem mehr ist. Ich wusste nicht, dass Sie Page.User.IsAuthenticated verwenden können, damit mir das weiterhilft. –

2

versuchen dieses: HttpContext.Current.User.Identity.IsAuthenticated

Verwandte Themen