2008-09-25 10 views
6

Digamos que tiene una página de perfil a la que solo puede acceder el propietario de ese perfil. Esta página de perfil se encuentra en:¿Cómo se prueba la autorización de la página web mediante ASP.NET MVC?

usuario/perfil/{ID de usuario}

Ahora, imagínese con el fin de impedir el acceso a esta página por otros usuarios, se podría estructurar la función del perfil de la clase UserController para comprobar la corriente la identidad de la sesión:

HttpContext.Current.User.Identity.Name

Si la identificación coincida con la de la dirección URL, a continuación, se procede. De lo contrario, redirige a algún tipo de página de error.

Mi pregunta es ¿cómo pruebas tu unidad de esta manera? Supongo que necesitas usar algún tipo de inyección de dependencia en lugar del HttpContext en el controlador para controlar, pero no estoy seguro de cuál es la mejor manera de hacerlo. Cualquier consejo sería útil.

Respuesta

1

Terminé yendo con el "UserNameFilter" se muestra en Kazi Manzur's blog post. Funciona como un encanto y prueba fácil de unidad.

0

Aquí es donde entra la burla, con un HttpContext falso.

Cuestiones relacionadas