SourceCode/jiouosdp/Controllers/Attributes/WeiXinLoginAttribute.cs

(开头部分) 12KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using RFrameGenerate.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Mvc;
using RFrameGenerate.BLL;
using Wechat;
using weixinopen;
using RFrameGenerate.Model;

namespace System.Web.Mvc
{
    /// <summary>
    /// 微信自动授权登录,根据域名前缀自动登录
    /// </summary>
    public class WeiXinLoginAttribute : ActionFilterAttribute
    {
        /// <summary>
        /// 是否要授权
        /// </summary>
        public bool IsAuthorization = false;
        string appid = string.Empty;
        public bool OnActionExecuting1(ActionExecutingContext filterContext)
        {
            if (RFrameGenerate.Common.CurrentManage.IsDebug == true)
                return false;
            if (IsAuthorization == true)
            {
                #region 微信限制
                var Request = filterContext.HttpContext.Request;
                var weixinopen = Request.UserAgent.ToString();
                if (weixinopen.Contains("MicroMessenger") == false)
                {
                    string url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7582db883b74dba0&redirect_uri=http%3A%2F%2Fhongbao.super.cn%2Findex%2Ftotal%3Fhelp%26ownerID%3DoPGaIjkZYBTaChHOK9Pgck1exbgE&response_type=code&scope=snsapi_userinfo&state=&connect_redirect=1#wechat_redirect";
                    filterContext.Result = new RedirectResult(url);
                    return true;
                }
                #endregion

                #region 公众号绑定
                if (string.IsNullOrEmpty(appid) == true)
                {
                    filterContext.Result = new ErrorResult("总部未绑定公众号,无法访问."); return true;
                }
                #endregion

                #region 授权登录
                /*2015/8/7 小周 如果url存在就从url获取*/
                //2015/8/30 第一次打开授权通过参数传递
                if (Request.QueryString.AllKeys.Contains(OpenIDManage.OpenTranIDKey) == true && string.IsNullOrEmpty(Request.QueryString[OpenIDManage.OpenTranIDKey]) != true)
                {
                    OpenIDManage.SetOpenID(Request.QueryString[OpenIDManage.OpenTranIDKey]);

                    if (filterContext.HttpContext.Request.IsAjaxRequest() != true && filterContext.HttpContext.Request.RequestType.ToLower() == "get")
                    {
                        //LogManage.Log("授权登录转发前url:" + filterContext.HttpContext.Request.Url.ToString());
                        string url = filterContext.HttpContext.Request.Path;
                        if (filterContext.HttpContext.Request.QueryString.Count > 0)
后面还有 227 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。