gpt4 book ai didi

c# - 使用 AuthorizeAttribute 进行 MVC 集成测试

转载 作者:行者123 更新时间:2023-11-30 17:14:15 24 4
gpt4 key购买 nike

在使用 Windows 身份验证的 Intranet 站点上,某些 Controller 方法被标记为“AuthorizeAttribute”控制对某些用户/组和角色的访问,我试图找出允许“测试用户”访问的最佳方法这些东西。

由于 与 MVC(安全问题)无关,这里最好的方法是什么?

我的第一个想法是实现以下内容:

  1. 本质上反射(reflect)了 部分的自定义配置部分
  2. 继承自“AuthorizeAttribute”的自定义属性,用于根据自定义配置部分检查用户
  3. 使用配置转换删除 QA 和发布环境的自定义配置部分

有没有更简单/更好的方法???

最佳答案

更新我最初写的是在类或方法上使用属性语法,但如果您使用的是 MVC3,您还可以在 (global.asax.cs) 中使用全局操作过滤器,因此您只需执行一次。

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
#if DEBUG
filters.Add(new AuthorizeAttribute() {Users="YourAccount"});
#endif
//Your other global action filters
}

原创你可以使用 #if DEBUG 仅添加调试代码的授权。

#if DEBUG
[Authorize(Users = "YourAccount")]
#endif

Authorize 属性允许多个,因此您不必重复生产授权用户列表或使用#else。

关于c# - 使用 AuthorizeAttribute 进行 MVC 集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8978392/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com