c# - How to get the decorator objects from inside the decorated method -
in asp.net mvc 4 controller class have actions decorate customauthorize attribute access restricted roles. 
i roles inside action methods , need customauthorize attribute method decorated with.
how do this?
sample code of trying below:
public class testcontroller : controller {     // users in viewer , admin roles should     [customauthorize("viewer", "admin")]     public actionresult index()     {         //need customauthorizeattribute associated roles     } } customauthorizeattribute subclass of system.web.mvc.authorizeattribute.
if want attribute method can this, example reflection:
var atrb = typeof(testcontroller).getmethod("index")              .getcustomattributes(typeof(customauthorizeattribute), true)              .firstordefault() customauthorizeattribute; or current method;
var atrbcurrentmethod = system.reflection.methodbase.getcurrentmethod()                 .getcustomattributes(typeof(customauthorizeattribute), true)                 .firstordefault() customauthorizeattribute; or more flexible way, if want later create function, stated in comment:
public customauthorizeattribute getcustomauthorizeattribute() {             return new stacktrace().getframe(1).getmethod()                 .getcustomattributes(typeof(customauthorizeattribute), true).firstordefault() customauthorizeattribute;         } 
Comments
Post a Comment