ASP.NET-Formularauthentifizierung - automatische Anmeldung mit einem Testkonto beim Debuggen?

8

Ich habe eine Webanwendung, die die asp.net-Mitgliedschafts- und -Rollenanbieter verwendet, damit Logins, die Mitglieder bestimmter Rollen sind, abhängig von Rollenzuweisungen Zugriff auf verschiedene Seiten haben.

Während des Debugging möchte ich, dass sich die App automatisch mit einem Testkonto anmeldet, damit ich die Funktionalität der Rollenzuweisungen überprüfen und nicht jedes Mal auf der Anmeldeseite Anmeldeinformationen eingeben muss. Gibt es einen einfachen Weg, dies zu tun?

    
CharlieG 01.07.2009, 20:07
quelle

7 Antworten

3

Dieser Code erledigt den Job. Im Ereignis "Page_Load" von Login.aspx:

%Vor%

MSDN-Dokumentation

Hinweis: Membership verwendet den Verweis System.Web.Security .

    
CharlieG 07.07.2009, 18:00
quelle
11

Jeff hat recht, du kannst es durch die global.asax Methode tun:

%Vor%

Prost

    
Marko 16.07.2010 13:56
quelle
2

Fügen Sie in der application_AuthenticateRequest-Methode (auch als Applications AuthenticateRequest-Ereignis bezeichnet) in der Datei global.asax Code hinzu, der überprüft, ob Sie die Site im Debugger ausführen (z. B. system.Diagnostics.Debugger.IsAttached) und falls ja , erstellen Sie das Anmeldeticket, erstellen Sie das Cookie und hängen Sie es an die Sitzung an. Die FormsAuthentication-Bibliothek bietet, was Sie benötigen, wenn der Membership-Provider es nicht hat.

    
Jeff Siver 01.07.2009 20:57
quelle
0

Könnten Sie einfach Code in das load-Ereignis einfügen, um die Zeichenfolgen für Benutzername und Passwort festzulegen und das onclick-Ereignis der Login-Schaltfläche auszulösen?

    
atfergs 01.07.2009 20:13
quelle
0

Als Alternative gibt es auch Tools wie Selenium IDE, ein Plugin für Firefox. Sein Hauptzweck besteht darin, eine Art von Test für die Benutzeroberflächen bereitzustellen. Zu diesem Zweck können Sie Aktionen aufzeichnen, die auf der Benutzeroberfläche ausgeführt werden. Sie können die Anmeldeinformationen, die Sie für den Testbenutzer eingeben, einmal aufzeichnen und speichern. Wenn Sie das nächste Mal wiederkommen, führen Sie das Skript aus, das automatisch die notwendigen Informationen eingibt.

Es gibt andere Tools, die speziell darauf ausgerichtet sind, ein Formular auf einer Webseite automatisch zu füllen. Selen ist eher als Testumgebung gedacht, aber ich habe es auch für solche Zwecke benutzt. Natürlich ist dies nur ein Workaround.

    
Juri 01.07.2009 20:37
quelle
0

Im Ereignis page_load können Sie FormsAuthentication.SetAuthCookie:

verwenden %Vor%     
Nate 01.07.2009 20:56
quelle
0

Die FormsAuthentication.RedirectFromLoginPage verwendet die Standard-URL, um zu entscheiden, wohin nach der Anmeldung umgeleitet werden soll. Stellen Sie also sicher, dass Sie eine andere gültige URL als Ihre LoginPage.aspx definiert haben.

%Vor%

Ich hoffe, das hilft ein bisschen.

    
Flynn 18.07.2010 13:41
quelle

Tags und Links