如何使用ASP.NET MVC对网页授权进行单元测试?

Kev*_*ang 6 tdd asp.net-mvc

假设您有一个只能由该个人资料的所有者访问的个人资料页面.此个人资料页面位于:

用户/资料/ {用户ID}

现在,我想,为了防止其他用户访问此页面,您可以构建UserController类的Profile函数来检查当前会话的标识:

HttpContext.Current.User.Identity.Name

如果id与url中的id匹配,则继续.否则,您将重定向到某种错误页面.

我的问题是你如何对这样的东西进行单元测试?我猜你需要使用某种依赖注入而不是控制器中的HttpContext来进行检查,但我不清楚最好的方法是什么.任何意见将是有益的.

Kev*_*ang 1

我最终选择了 Kazi Manzur 的博客文章中显示的“UserNameFilter” 。工作起来很有魅力并且易于单元测试。