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?
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.
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.
Im Ereignis page_load können Sie FormsAuthentication.SetAuthCookie:
verwenden %Vor%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.
Tags und Links asp.net asp.net-membership