asp.Netmvcはブラウザの判断に基づいて、微信ブラウザであればホームページの授権を行い、そうでなければ直接アクセスする...

1483 ワード

この需要に出会って、最初に考えたのは、これはきっと共通の場所に書く必要があるということです.呼び出しが便利です.一般的には、親コントローラがOnActionExcutingメソッドの実行前に論理を書き、まずコードを書き、コードを書きながら説明することができます.
  /// 
        ///      
        /// 
        /// 
        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); }