2009-07-20 5 views
0

Die erste Seite unserer Webapplikation ist eine Login-Seite.ASP.NET Seite posten zurück, während es umleiten sollte

Wir verwenden FormsAuthentication. Wir verwenden keine Datenbank, sondern mehrere Active Directories. Daher füllen wir das FormsAuthenticationTicket selbst aus.

Dies funktioniert hervorragend für ein Active Directory, das sich in unserem eigenen Netzwerk befindet, aber das funktioniert nicht für ein anderes Active Directory, das sich in einem anderen Netzwerk befindet.

Wenn ich auf die Protokollierung schaue, funktioniert das Abrufen der Informationen aus dem Active Directory, aber wenn ich fertig bin, die Informationen zu erhalten, leite ich auf eine andere Seite um, und das passiert einfach nicht. Die Seite wird zurückgesendet, aber nicht umgeleitet.

Ich weiß nicht, wo ich suchen soll. Ich verwende dynamischen Identitätswechsel, vielleicht hat das etwas damit zu tun?

EDIT: So wird es umleiten. Ich habe eine RückgabeUrl.

Aber es ist immer noch seltsam, die Protokollierung sagt mir, dass der Benutzer authentifiziert ist. Wenn der Benutzer authentifiziert ist, aber keine Rollen gefunden werden ich etwas tun, wie

protected void Page_Load(object sender, EventArgs e) { 
     m_logger = new Logger(22, MethodBase.GetCurrentMethod().DeclaringType); 

     if (User.Identity.IsAuthenticated) { 
      KanoWebIdentity kanoWebId = (KanoWebIdentity)User.Identity; 
      m_logger.Debug("Een geauthenticeerde gebruiker laadt Aanmelden.aspx, zijn rechten worden getoond."); 
      ShowNoPermissionMessage(kanoWebId); 
     } else { 
      m_logger.Debug("Een niet geauthenticeerde gebruiker laadt Aanmelden.aspx."); 
     } 
    } 

Es ist wie alles in den Cookies/Sitzung sieht nach der Umleitung verloren geht?

+1

Sind Sie sicher, dass es nicht umleiten wird, dann die Zugriffsrechte verweigert werden und somit zurück zum Login weitergeleitet werden. Haben Sie einen ReturnUrl-Parameter in der Querystring, wenn Sie das mögliche Postback sehen? –

+0

: O Ich habe eine ReturnUrl. Lass mich das untersuchen. Danke – user31571

+1

Sie könnten versuchen, mit Fiddler zu sehen, was los ist –

Antwort

Verwandte Themen