public class CheckUserAttribute : ActionFilterAttribute, IAuthorizationFilter
{
public void OnAuthorization(AuthorizationContext context)
{
if (this.IsAnonymousAction(context)) //是否允許匿名使用者通路 [AllowAnonymous]
{
return;
}
if (context.HttpContext.Session["currentUserId"] == null)
{
context.Result = new RedirectToRouteResult(
new RouteValueDictionary{
{ "controller", "Error"},
{ "action", "NotAuthorized"}
});
}
}
#region private method
private bool IsAnonymousAction(AuthorizationContext filterContext)
{
return filterContext.ActionDescriptor
.GetCustomAttributes(inherit: true)
.OfType<AllowAnonymousAttribute>()
.Any();
}
#endregion
}
你好,這是 Leco's 開發筆記,轉載請注明出處:http://www.cnblogs.com/leco