2008-09-25 6 views
6

Imaginons que vous ayez une page de profil accessible uniquement par le propriétaire de ce profil. Cette page de profil se trouve à l'adresse:Comment testez-vous l'autorisation d'une page Web à l'aide d'ASP.NET MVC?

utilisateur/Profil/{userID}

Maintenant, j'imagine afin d'empêcher l'accès à cette page par d'autres utilisateurs, vous pouvez structurer votre fonction de profil de classe UserController pour vérifier le courant l'identité de session:

HttpContext.Current.User.Identity.Name

Si l'ID correspond à celui de l'URL, puis continuer. Sinon, vous redirigez vers une sorte de page d'erreur.

Ma question est de savoir comment testez-vous quelque chose comme ça? Je devine que vous devez utiliser une sorte d'injection de dépendance au lieu de HttpContext dans le contrôleur pour faire la vérification, mais je ne sais pas quelle est la meilleure façon de le faire. Tout conseil serait utile.

Répondre

1

J'ai fini par aller avec le « UserNameFilter » montré dans Kazi blog post de Manzur. Fonctionne comme un charme et un test facile à l'unité.

0

C'est là que le ridicule vient, avec un faux HttpContext.

Questions connexes