private AuthorizationContext AuthorizationContextFactory(RequestContext requestContext, string controllerName, string actionName, string areaName) { ControllerContext controllerContext = controllerContextCache.GetControllerContext(requestContext, controllerName, areaName); if (controllerContext == null) { return(null); } IController controller = controllerContext.Controller; if (controller != null) { var controllerTypeName = controller.GetType().Name; controllerName = controllerTypeName.Substring(0, controllerTypeName.Length - "Controller".Length); } ControllerDescriptor controllerDescriptor = controllerDescriptorCache.GetControllerDescriptor(controllerName, areaName); if (controllerDescriptor == null) { return(null); } ActionDescriptor actionDescriptor = controllerDescriptor.FindAction(controllerContext, actionName); if (actionDescriptor == null) { return(null); } return(new AuthorizationContext(controllerContext, actionDescriptor)); }
private AuthorizationContext AuthorizationContextFactory(RequestContext requestContext, string controllerName, string actionName, string areaName) { ControllerContext controllerContext = controllerContextCache.GetControllerContext(requestContext, controllerName, areaName); #if MVC1 if (controllerContext == null) { return(null); } return(new AuthorizationContext(controllerContext)); #else ControllerDescriptor controllerDescriptor = controllerDescriptorCache.GetControllerDescriptor(controllerName, areaName); if (controllerContext == null || controllerDescriptor == null) { return(null); } ActionDescriptor actionDescriptor = controllerDescriptor.FindAction(controllerContext, actionName); if (actionDescriptor == null) { return(null); } return(new AuthorizationContext(controllerContext, actionDescriptor)); #endif }
public void GetControllerContext_should_return_null_if_no_such_controller() { var context = controllerContextCache.GetControllerContext(requestContext, "Fake", ""); context.ShouldBeNull(); }