在使用Windows身份验证的Intranet站点上,某些控制器方法被标记为“AuthorizeAttribute”控制对某些用户/组和角色的访问,我试图找出允许“测试用户”访问的最佳方法这些东西。
由于< location>与MVC(安全问题)不同,这里最好的方法是什么?
我的第一个想法是实现以下内容:
是否有更简单/更好的方式???
答案 0 :(得分:2)
<强>更新强> 我最初编写的是在类或方法上使用属性语法,但如果您使用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。