asp.net mvc 根据浏览器判断,如果是微信浏览器则进行网页授权,否则直接访问...

遇到这个需求,想到的第一点就是,这个肯定是需要写在一个通用的地方。方便调用。一般可以定义个 父类控制器在OnActionExcuting方法执行前写逻辑,先上代码,一边写代码一边讲解:

  /// <summary>
        /// 执行方法前
        /// </summary>
        /// <param name="filterContext"></param>
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            if (filterContext.IsChildAction)
                return;

            //需要排除校验的控制器名称 
            string[] excludeControllerName = { "error", "ThirdPartyNotify" };
            bool hasElenemt = MyCommFun.StringHasElenemt(filterContext.Controller.ToString().ToLower(), excludeControllerName);
            if (hasElenemt)
            {   //排除error控制器
                return;
            }
       
            string userAgent = Request.UserAgent;
            //如果为微信端登录,则需要网页授权,排除error控制器
            if (userAgent.ToLower().IndexOf("micromessenger") > -1)
            {
                if (WebHelper.IsAjax())//判断是否为ajax请求的情况
                {
                   ProcessInvalidUser_Ajax(filterContext);
                    return;
                }
                else
                {
//网页授权 bool obpOk= OAuth2BaseProc(filterContext, wid); if (!obpOk) { return; } } } base.OnActionExecuting(filterContext); }

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值