AuthorizeAttribute的MVC集成测试
本文关键字:集成测试 MVC AuthorizeAttribute | 更新日期: 2023-09-27 18:21:16
在使用windows身份验证的intranet站点上,某些控制器方法被标记为"AuthorizeAttribute",用于控制对某些用户/组和角色的访问,我正在努力找出允许"测试用户"访问这些内容的最佳方式。
由于<位置>MVC(安全问题)已经过时了,这里最好的方法是什么?
我的第一个想法是实现以下内容:
- 一个自定义配置部分,本质上反映了<授权>截面
- 从"AuthorizeAttribute"继承的自定义属性,该属性根据自定义配置部分检查用户
- 使用配置转换删除QA和Release环境的自定义配置部分
有更简单/更好的方法吗???
更新我最初编写的内容在类或方法上使用了属性语法,但如果您使用的是MVC3,您也可以在(global.asax.cs)中使用全局操作筛选器,因此只需执行一次。
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
#if DEBUG
filters.Add(new AuthorizeAttribute() {Users="YourAccount"});
#endif
//Your other global action filters
}
原件您可以使用#ifDEBUG来只添加调试代码的授权。
#if DEBUG
[Authorize(Users = "YourAccount")]
#endif
Authorize属性允许多个,这样您就不必重复生产授权用户列表或使用#else。