在控制器controller中有一个action写的是:
[HttpGet] [Authorize(Roles = "admins")] public ActionResult uploadFile() { return View(); }
在Filters文件夹中写的是:
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class, Inherited = true, AllowMultiple = true)] public class CustomAuthorizeAttribute : AuthorizeAttribute { protected override bool AuthorizeCore(HttpContextBase context) { if (Roles == "") { return false; } return true; }
监控代码发现AuthorizeCore中的Roles为"",根本没有将"admins"传递进来啊!
使用vs2013 asp.net mvc4
有没大神能帮忙看一下是怎么回事啊?!
你打的特性是Authorize不是CustomAuthorizeAttribute?
我改的试了的,改成这个还需要引用using demandManagement.Filters;
但还是不行,就是获取不到Roles的值。
@明爷: 改了之后的代码呢.
@吴瑞祥:
[HttpGet] //[Authorize(Roles = "admins")] [CustomAuthorize(Roles = "admins")] public ActionResult uploadFile() { return View(); }
就是这样撒,但是还是获取不到Roles的值
@明爷:
protected override bool AuthorizeCore(HttpContextBase context) { if (Roles == "") { return false; } return true; }
你在这里打断点了吗
@吴瑞祥:
我现在的代码,controller中的action是:
我filter中的代码是:
总是不能获取这个值,醉了。