ASP.Net MVC 登录授权验证

1 篇文章 0 订阅

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)
        {
         }
      }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值