当用户以表单身份验证中的管理员身份登录时,请避免使用环形缓存?

时间:2015-03-17 21:00:00

标签: asp.net-mvc asp.net-mvc-5 forms-authentication outputcache donut-caching

如果用户使用管理组中的表单身份验证登录,我想避免缓存。

我已覆盖缓存属性并已在控制器级别应用它。但是,NonAdmin方法不会通过validationcallback调用!

public class OutputCache_NonAdmin : DonutOutputCacheAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        HttpContext.Current.Response.Cache.AddValidationCallback(NonAdmin, null);
        base.OnActionExecuting(filterContext);
    }

    private void NonAdmin(HttpContext httpContext, object data, ref HttpValidationStatus httpValidationStatus)
    {
        //-- METHOD DOES NOT GET CALLED!
        httpValidationStatus = FormsAuthenticationService.IsLoggedIn("Admin") 
            ? HttpValidationStatus.IgnoreThisRequest 
            : HttpValidationStatus.Valid;
    }
}

如何在用户登录时实现非缓存?

0 个答案:

没有答案