asp.net mvc 根据浏览器判断,如果是微信浏览器则进行网页授权,否则直接访问
2018-10-15 00:43
1281 查看
遇到这个需求,想到的第一点就是,这个肯定是需要写在一个通用的地方。方便调用。一般可以定义个 父类控制器在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); }
相关文章推荐
- js 根据 useragent 判断访问网页的 设备 和 浏览器 分类: 浏览器检测 浏览器兼容 判断设备 判断浏览器 2015-01-28 11:23 266人阅读 评论(0) 收藏
- js 根据 useragent 判断访问网页的 设备 和 浏览器
- js判断访问浏览器是安卓还是ios还是微信浏览器还是微博
- 用chrome模拟微信浏览器访问需要OAuth2.0网页授权的页面
- 判断是否存在SD卡 如果存在 直接获取SD卡的路径 否则 获取内部存储的路径
- 用chrome模拟微信浏览器访问需要OAuth2.0网页授权的页面
- 根据浏览器头判断是手机还是电脑访问
- 如果不使用判断操作保证任意一个数如果大于30则为30,否则为原值(SQL中排序时对字段值进行最大限制)
- js网页访问的浏览器及移动端的判断
- 用chrome模拟微信浏览器访问需要OAuth2.0网页授权的页面
- 怎么将一个用eclipse做好的项目部署到虚拟机tomacat上去----然后用浏览器直接进行访问!!!
- 从键盘上接收一个字母,判断是否是大写字母,如果是则转换成小写字母输出 ,否则直接输出。
- 【HTTP】根据 UserAgent 判断网页是在浏览器、或在微信、或在APP中
- 判断某一款应用(通过包名)是否安装,如果安装直接打开,否则弹出下载对话框(V1.0)
- 手机端访问第三方java服务器后判断是否进行OAuth2.0网页微信公众号授权认证
- 在浏览器输入路径访问servlet,没有出现网页,而是直接下载的问题
- 判断网页在手机浏览器和PC浏览器访问!~
- ViewPager 首次安装软件加载图片介绍并判断是否第一次,如果第一次展示图片,否则直接进入软件
- js,php实现用ua判断手机,ipad,pc浏览器访问网页不同尺寸页
- 根据浏览器404提醒进行错误判断