2008-09-25 12 views
6

Nehmen wir an, Sie haben eine Profilseite, auf die nur der Besitzer dieses Profils zugreifen kann. Diese Profilseite befindet sich unter:Wie testen Sie die Berechtigung für Webseiten mit ASP.NET MVC?

Benutzer/Profil/{userID}

Nun, ich, um sich vorstellen, den Zugriff auf diese Seite von anderen Benutzern zu verhindern, könnten Sie Ihre Usercontroller Klasse Profil Funktion strukturieren den Strom zu überprüfen Sitzung Identität:

HttpContext.Current.User.Identity.Name

Wenn die ID der in der uRL übereinstimmt, dann gehen Sie. Andernfalls werden Sie auf eine Art Fehlerseite umgeleitet.

Meine Frage ist, wie testen Sie Einheit so etwas? Ich vermute, dass Sie eine Art Abhängigkeitsinjektion anstelle des HttpContext im Controller verwenden müssen, um die Überprüfung durchzuführen, aber ich bin unklar, was der beste Weg ist, dies zu tun. Jeder Rat wäre hilfreich.

Antwort

1

ich mit dem „UserNameFilter“ going landete gezeigt in Kazi Manzurs blog post. Funktioniert wie ein Charme und einfach zu Unit-Test.

0

Hier kommt Spott herein, mit einem gefälschten HttpContext.

Verwandte Themen