ASP.Net MVC 登录授权验证



public
class Verify : AuthorizeAttribute { public override void OnAuthorization(AuthorizationContext filterContext) { var user = filterContext.HttpContext.Session["CurrentUser"]; if (filterContext.ActionDescriptor.IsDefined(typeof(AllowAnonymousAttribute), true)) //判断是否Action判断是否跳过授权过滤器 { return; } else if (filterContext.ActionDescriptor.ControllerDescriptor.IsDefined(typeof(AllowAnonymousAttribute), true)) //判断是否Controller判断是否跳过授权过滤器 { return; } else if (user == null || string.IsNullOrWhiteSpace(user.ToString())) //判断用户是否登录 { filterContext.Result = new RedirectResult("../Login/Login"); } else { return; } } }
 
全局授权验证
public class FilterConfig { public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new HandleErrorAttribute()); filters.Add(new Verify()); } }
   控制器授权验证
[Verify]
public class LoginController : Controller { }
 public class LoginController : Controller
    {
     方法授权验证 [Verify]
public ActionResult UserInfo(Models.UserInfo userInfo) { } }
public class LoginController : Controller
    {
        /// <summary>
        /// 登录
        /// </summary>
        /// <param name="userInfo"></param>
        /// <returns></returns>
        [HttpPost]
        [AllowAnonymous]//方法忽略验证
        public ActionResult Login(Models.UserInfo userInfo)
        {
         }
      }

猜你喜欢

转载自www.cnblogs.com/YunChao/p/11629077.html