Exemplo n.º 1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        //  string szTemp = Decode("YXRnMTc4Z2hqa285ODJnbTIyMDgwMjE5ODAwOTE2MTcxMGZnaGVydDYyMXl1aWxzcDExMTExMXB3");
        //123
        //345
        string szINFO    = "10035209X(J@L*!IA20160322";
        string EnPswdStr = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(szINFO, "MD5");


        //社科院单点登录
        string szUserInfo = Request.QueryString["userinfo"];

        if (szUserInfo != null)
        {
            string szA = "atg178ghjko982gm";
            string szB = "fghert621yuilsp";
            string szC = "pwfgcvb";
            Logger.trace("szUserInfo=" + szUserInfo);
            string szCodwIn = Decode(szUserInfo);
            Logger.trace("szCodwIn=" + szCodwIn);
            int nA = szCodwIn.IndexOf(szA) + szA.Length;
            Logger.trace("nA=" + nA);
            int nB = szCodwIn.IndexOf(szB) + szB.Length;
            Logger.trace("nB=" + nB);
            int nC = szCodwIn.IndexOf(szC) + szC.Length;
            Logger.trace("nC=" + nC);
            string logonnameCode = szCodwIn.Substring(nA, szCodwIn.IndexOf(szB) - nA);
            string passwordCode  = szCodwIn.Substring(nB, szCodwIn.IndexOf(szC) - nB);
            Logger.trace("logonnameCode=" + logonnameCode);
            Logger.trace("passwordCode=" + passwordCode);

            LoginUseInfo loginUserInfo = new LoginUseInfo();
            loginUserInfo.szLogoName = logonnameCode;
            loginUserInfo.szPassword = "******";
            Session["LoginUseInfo"]  = loginUserInfo;
        }
        Response.Redirect("pages/default.aspx" + HttpContext.Current.Request.Url.Query);

        /*
         *   string szStartTime = ddlStartTime.SelectedItem.Text.ToString();
         *   string szEndTime = ddlEndTime.SelectedItem.Text.ToString();
         *
         * for (int i = 8; i < 22; i++)
         * {
         *   for (int j = 0; j <= 50; j = j + 10)
         *   {
         *       ListItem item1 = new ListItem(i.ToString("00") + ":" + j.ToString("00"), i.ToString("00") + j.ToString("00"));
         *       ddlStartTime.Items.Add(item1);
         *   }
         * }
         * for (int i = 8; i < 22; i++)
         * {
         *   for (int j = 0; j <= 50; j = j + 10)
         *   {
         *       ListItem item1 = new ListItem(i.ToString("00") + ":" + j.ToString("00"), i.ToString("00") + j.ToString("00"));
         *       ddlEndTime.Items.Add(item1);
         *   }
         * }
         */
    }
Exemplo n.º 2
0
	protected void Page_Load(object sender, EventArgs e)
	{
        Session["devInfo"] = null;
        string szUrl = Request.Url.ToString();
        if (szUrl != null && szUrl != "")
        {
            string szPassword = "";
            string szLogonName = "";
            if (IsCheckLogin(szUrl, out szLogonName, out szPassword))
            {
                Logger.trace("url1");
                LoginIn(szLogonName, szPassword);
            }

            if (Request["op"] != "Logout" && Session["LoginUseInfo"] != null)
            {
                LoginUseInfo login = (LoginUseInfo)Session["LoginUseInfo"];
                if (login.szLogoName != null && login.szLogoName != "" && login.szPassword != null)
                {
                    LoginIn(login.szLogoName, login.szPassword);
                }
            }
        }
        //else
        {
            Response.Redirect("~/loginall.aspx");
            Response.End();
        }
        
        if (Request["op"] == "Logout")
        {
            Logout();
        }
	}
Exemplo n.º 3
0
    private bool GetUserInfoFromUrl(string uid, string szSignKey)
    {
        //string szKey = "G(Z@L*!IA";

        //华东科大的Key
        string szKey = "X(J@L*!IA";

        string szDate = DateTime.Now.ToString("yyyyMMdd");

        string ma5       = uid + szKey + szDate;
        string EnPswdStr = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(ma5, "MD5");

        if (szSignKey.ToLower() == EnPswdStr.ToLower())
        {
            LoginUseInfo info = new LoginUseInfo();
            info.szPassword         = szPasswd;
            info.szLogoName         = uid;
            Session["LoginUseInfo"] = info;

            Logger.trace(uid + "微信跳转登录成功");
            Logger.trace("登录账户:" + uid);
            Response.Redirect("clientweb/m/ic2/default.aspx?version=" + szVersion);

            return(true);
        }
        else
        {
            Logger.trace(uid + "微信跳转登录失败;本地加密:" + EnPswdStr + ";传入加密值:" + szSignKey);
            return(false);
        }
    }
Exemplo n.º 4
0
    public bool getZhenyun(string verify, string name, string datetime, string jsName)
    {
        //string szKey = "G(Z@L*!IA";

        //华东科大的Key
        string szKey = "nwnu_zwyy";

        string szDate = DateTime.Now.ToString("yyyyMMdd");

        string ma5 = name + datetime + jsName + szKey;


        string EnPswdStr = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(ma5, "md5");

        if (verify.ToLower() == EnPswdStr.ToLower())
        {
            LoginUseInfo info = new LoginUseInfo();
            info.szPassword         = szPasswd;
            info.szLogoName         = name;
            Session["LoginUseInfo"] = info;

            Logger.trace(name + "微信跳转登录成功");
            Logger.trace("登录账户:" + name);
            // Response.Write(uid+"__"+szPasswd);
            // return true;
            Response.Redirect("clientweb/m/ic2/default.aspx?version=" + szVersion);

            return(true);
        }
        else
        {
            Logger.trace(name + "微信跳转登录失败;本地加密:" + EnPswdStr + ";传入加密值:" + verify);
            return(false);
        }
    }
Exemplo n.º 5
0
    protected void Page_Load(object sender, EventArgs e)
    {
        WriteTxt("info");
        string szUrl = Request.Url.ToString();

        if (szUrl != null && szUrl != "")
        {
            string szPassword  = "";
            string szLogonName = "";
            if (IsCheckLogin(szUrl, out szLogonName, out szPassword))
            {
                LoginIn(szLogonName, szPassword);
            }
            if (Request["op"] != "Logout" && Session["LoginUseInfo"] != null)
            {
                LoginUseInfo login = (LoginUseInfo)Session["LoginUseInfo"];
                if (login.szLogoName != null && login.szLogoName != "" && login.szPassword != null)
                {
                    LoginIn(login.szLogoName, login.szPassword);
                }
            }
        }
        if (Request["op"] == "Logout")
        {
            Logout();
        }
    }
Exemplo n.º 6
0
    public void wanxiao()
    {
        try
        {
            string szAppcode = Request["code"];
            string FormURL   = szauthUrl; //处理表单的绝对URL地址
            string FormData  = "code=" + szAppcode + "&client_id=" + client_id + "&client_secret=" + client_secret + "&redirect_uri=" + (szoutUrl) + "&grant_type=authorization_code";

            string postString = FormData;                           // "arg1=a&arg2=b";//这里即为传递的参数,可以用工具抓包分析,也可以自己分析,主要是form里面每一个name都要加进来
            byte[] postData   = Encoding.UTF8.GetBytes(postString); //编码,尤其是汉字,事先要看下抓取网页的编码方式
            string url        = FormURL + "/accessToken";           //地址
            ServicePointManager.ServerCertificateValidationCallback += RemoteCertificateValidate;

            WebClient webClient = new WebClient();
            webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded"); //采取POST方式必须加的header,如果改为GET方式的话就去掉这句话即可
            byte[] responseData = webClient.UploadData(url, "POST", postData);          //得到返回字符流
            string WebContent   = Encoding.UTF8.GetString(responseData);                //解码


            //第二次请求
            string szTemp     = "access_token";
            int    iPoststart = WebContent.IndexOf(szTemp) + szTemp.Length + 3;
            int    iPostend   = WebContent.LastIndexOf("\"");
            string szTockent  = WebContent.Substring(iPoststart, iPostend - iPoststart);

            WebClient webClient2  = new WebClient();
            string    url2        = szauthUrl + "/1/user/base_senior?access_token=" + szTockent;
            Encoding  enc         = Encoding.GetEncoding("UTF-8");
            Byte[]    pageData    = webClient2.DownloadData(url2);
            string    WebContent2 = enc.GetString(pageData);

            if (!string.IsNullOrEmpty(WebContent2))
            {
                string szLogonName = GetStrInfoJsonIndex(WebContent2, "outid", true);

                if (szLogonName != "")
                {
                    LoginUseInfo loginUserInfo = new LoginUseInfo();
                    loginUserInfo.szLogoName = szLogonName;
                    loginUserInfo.szPassword = "******";
                    Session["LoginUseInfo"]  = loginUserInfo;
                    Response.Redirect("clientweb/m/ic2/default.aspx?version=" + szVersion);
                }
            }
        }
        catch (Exception e)
        {
            Response.Write(e.ToString());
        }
    }
Exemplo n.º 7
0
    protected void Page_Load(object sender, EventArgs e)
    {
        string szAll = "0";

        /*
         * try
         * {
         *  szAll = System.Web.Configuration.WebConfigurationManager.AppSettings["loginAll"];
         * }
         * catch
         * {
         * }
         * if (szAll == "1")
         * {
         *  szLogonName.Enabled = false;
         *  szPassword.Enabled = false;
         *  Button_Logon.Text = "不能直接登录";
         *  Button_Logon.Enabled = false;
         *  return;
         * }
         */

        string szUrl = Request.Url.ToString();

        //Logger.trace("szURL="+szUrl);
        if (szUrl != null && szUrl != "")
        {
            string szPassword  = "";
            string szLogonName = "";
            if (IsCheckLogin(szUrl, out szLogonName, out szPassword))
            {
                LoginIn(szLogonName, szPassword);
            }
            if (Request["op"] != "Logout" && Session["LoginUseInfo"] != null)
            {
                LoginUseInfo login = (LoginUseInfo)Session["LoginUseInfo"];
                Logger.trace("passwd=" + login.szPassword);
                Logger.trace("szLogonName=" + login.szLogoName);
                if (login.szLogoName != null && login.szLogoName != "" && login.szPassword != null)
                {
                    LoginIn(login.szLogoName, login.szPassword);
                }
            }
        }
        if (Request["op"] == "Logout")
        {
            Logout();
        }
    }
Exemplo n.º 8
0
    public void weixin()
    {
        string code = Request.QueryString["code"];

        Logger.trace("weixincode=" + code);
        if (String.IsNullOrEmpty(code))
        {
            Response.Redirect("https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + CorpID + "&redirect_uri=" + redirect_uri + "&response_type=code&scope=SCOPE&agentid=" + AgentID + "&state=STATE#wechat_redirect");
            Response.Redirect("https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + CorpID + "&redirect_uri=" + redirect_uri + "&response_type=code&scope=SCOPE&agentid=" + AgentID + "&state=STATE#wechat_redirect");
            return;
        }

        string netid = null;


        string ACCESS_TOKEN = GetAccessToken();

        ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(ValidateCertificate);

        string validateurl = "https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=" + ACCESS_TOKEN + "&code=" + code;

        StreamReader Reader = new StreamReader(new WebClient().OpenRead(validateurl));
        string       resp   = Reader.ReadToEnd();

        Logger.trace(resp);
        Hashtable token = JSON.parse <Hashtable>(resp);

        if (token != null)
        {
            netid = (string)token["UserId"];
            LoginUseInfo loginUserInfo = new LoginUseInfo();
            loginUserInfo.szLogoName = netid;
            loginUserInfo.szPassword = "******";
            Session["LoginUseInfo"]  = loginUserInfo;
            Response.Redirect("clientweb/m/ic2/default.aspx?version=" + szVersion);
        }

        if (netid == null)
        {
            Logger.Trace("身份验证失败");
        }
        else
        {
        }
    }
Exemplo n.º 9
0
    private void GetUserInfoFromUrl(string szSN)//超星
    {
        string szInfo = Decrypt_DES(szSN, strDesKey);

        string szLogonNameS = "<uid>";
        string szLogonNameE = "</uid>";
        string szPasswdS    = "<pwd>";
        string szPasswdE    = "</pwd>";
        int    nLogonNameS  = szInfo.IndexOf(szLogonNameS);
        int    nLogonNameE  = szInfo.IndexOf(szLogonNameE);
        string szLogonName  = "";

        try
        {
            szLogonName = szInfo.Substring(nLogonNameS + szLogonNameS.Length, nLogonNameE - nLogonNameS - szLogonNameS.Length);
        }
        catch
        {
        }
        int    nPasswdS = szInfo.IndexOf(szPasswdS);
        int    nPasswdE = szInfo.IndexOf(szPasswdE);
        string szPasswd = "";

        try
        {
            szPasswd = szInfo.Substring(nPasswdS + szPasswdS.Length, nPasswdE - nPasswdS - szPasswdS.Length);
        }
        catch
        {
        }
        if (szLogonName != null && szLogonName != "")
        {
            LoginUseInfo info = new LoginUseInfo();
            info.szPassword         = szPasswd;
            info.szLogoName         = szLogonName;
            Session["LoginUseInfo"] = info;
            //  Response.Write(info.szLogoName + ":psd=:" + info.szPassword);
            Logger.trace("szLogonName=" + szLogonName + ";szPasswd=" + szPasswd);
            // Response.End();

            Response.Redirect("clientweb/default.aspx?version=" + szVersion);
        }
    }
Exemplo n.º 10
0
    private bool GetUserInfoFromUrl(string uid, string szSignKey)
    {
        string szKey = "X(J@L*!IA";

        string szDate = DateTime.Now.ToString("yyyyMMdd");

        string ma5     = uid + szKey;
        string ma5Next = ma5 + DateTime.Now.AddDays(1).ToString("yyyyMMdd");

        ma5 = ma5 + szDate;
        string EnPswdStr     = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(ma5, "MD5");
        string EnPswdStrNext = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(ma5Next, "MD5");

        if (szSignKey.ToLower() == EnPswdStr.ToLower() || szSignKey.ToLower() == EnPswdStrNext.ToLower())
        {
            LoginUseInfo info = new LoginUseInfo();
            info.szPassword         = szPasswd;
            info.szLogoName         = uid;
            Session["LoginUseInfo"] = info;

            Logger.trace(uid + "微信跳转登录成功");
            Logger.trace("登录账户:" + uid);
            // Response.Write(uid+"__"+szPasswd);
            // return true;
            string szUrl = "clientweb/m/ic2/default.aspx?version=" + szVersion;
            if (!string.IsNullOrEmpty(Request["syskind"]))
            {
                szUrl = szUrl + "&syskind=" + Request["syskind"];
            }
            Response.Redirect(szUrl);

            return(true);
        }
        else
        {
            Logger.trace(uid + "微信跳转登录失败;本地加密:" + EnPswdStr + ";传入加密值:" + szSignKey);
            return(false);
        }
    }
Exemplo n.º 11
0
    private void GetUserInfoFromUrl(string szSN)
    {
        string szInfo = Decrypt_DES(szSN, strDesKey);

        string szLogonNameS = "<uid>";
        string szLogonNameE = "</uid>";
        string szPasswdS    = "<pwd>";
        string szPasswdE    = "</pwd>";
        int    nLogonNameS  = szInfo.IndexOf(szLogonNameS);
        int    nLogonNameE  = szInfo.IndexOf(szLogonNameE);
        string szLogonName  = "";

        try
        {
            szLogonName = szInfo.Substring(nLogonNameS + szLogonNameS.Length, nLogonNameE - nLogonNameS - szLogonNameS.Length);
        }
        catch {
        }
        int    nPasswdS = szInfo.IndexOf(szPasswdS);
        int    nPasswdE = szInfo.IndexOf(szPasswdE);
        string szPasswd = "";

        try
        {
            szPasswd = szInfo.Substring(nPasswdS + szPasswdS.Length, nPasswdE - nPasswdS - szPasswdS.Length);
        }
        catch
        {
        }
        if (szLogonName != null && szLogonName != "")
        {
            LoginUseInfo info = new LoginUseInfo();
            info.szPassword         = szPasswd;
            info.szLogoName         = szLogonName;
            Session["LoginUseInfo"] = info;
        }
    }
Exemplo n.º 12
0
    private bool GetUserInfoFromUrl(string uid, string szSignKey)
    {
        string szKey  = "G(Z@L*!IA";
        string szDate = DateTime.Now.ToString("yyyyMMdd");

        string ma5       = uid + szKey + szDate;
        string EnPswdStr = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(ma5, "MD5");

        if (szSignKey == EnPswdStr)
        {
            LoginUseInfo info = new LoginUseInfo();
            info.szPassword         = szPasswd;
            info.szLogoName         = uid;
            Session["LoginUseInfo"] = info;

            Logger.trace(uid + "微信跳转登录成功");
            return(true);
        }
        else
        {
            Logger.trace(uid + "微信跳转登录失败;本地加密:" + EnPswdStr + ";传入加密值:" + szSignKey);
            return(false);
        }
    }
Exemplo n.º 13
0
    public void huiwen()
    {
        DateTime DateStart = new DateTime(1970, 1, 1, 8, 0, 0);
        string   code      = Request["code"];

        Logger.trace("code=" + code);

        if (code == null || code == "")
        {
            Response.Write("请先绑定账户");
            Response.Redirect(fuwuAddr + "/weixin/weixin_reg.php");
            Response.End();
        }
        string timeStamp = Convert.ToInt32((DateTime.Now - DateStart).TotalSeconds).ToString();
        string random    = (Convert.ToInt32((DateTime.Now - DateStart).TotalSeconds) + 11).ToString();   //生成随机数


        string ma5       = code + random + timeStamp + weixinApiKey;
        string signature = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(ma5, "MD5").ToLower();

        Logger.trace("ma5=" + ma5 + "&&&MD5=" + signature);

        string requestUrl = fuwuAddr + "/weixin/weixin_get_info.action";
        string fromdata   = "code=" + code + "&timeStamp=" + timeStamp + "&random=" + random + "&signature=" + signature;

        string szRes = GetInfoFromUrl(requestUrl, fromdata);

        Logger.trace("req=" + requestUrl + fromdata + "##andres=" + szRes);


        string szSuccess = GetStrInfoJsonIndex(szRes, "success", false);
        string szState   = GetStrInfoJsonIndex(szRes, "state", true);

        Logger.trace("szSuccess=" + szSuccess + ",szState=" + szState);
        if (szRes.IndexOf("用户未注册") > -1)
        {
            Logger.trace("success=" + szSuccess + "&state=" + szSuccess);
            string apiBackUrl = fuwuAddr + "weixin/weixin_reg.php";
            Logger.trace(apiBackUrl);
            Response.Redirect(apiBackUrl);
            return;

            /*返回数据库结构
             *          {"success":false,
             *          "msg":"读者未注册",
             *          "state":"1"}
             */
            /*
             *          String apiBackUrl = "http://www.example.com:81/user_auth/login" ;//当前页面的对外地址,用来回调,根据实际情况填写
             *
             *
             *
             *          signature = DigestUtils.md5Hex(apiBackUrl+random+timeStamp+weixinApiKey) ;
             *          String loginUrl = null;
             *          try {
             *                  loginUrl = Common.getAuthUrl(fuwuAddr+"/weixin/api_reg.action?apiBackUrl="
             +URLEncoder.encode(apiBackUrl,"utf-8")+"&random="+URLEncoder.encode(random,"utf-8")
             +"&timeStamp="+timeStamp+"&signature="+signature,appid);
             *          } catch (UnsupportedEncodingException e) {
             *                  // TODO Auto-generated catch block
             *                  e.printStackTrace();
             *          }
             *          return "redirect:"+ loginUrl ;
             * */
        }
        else if (szSuccess == "false" && szState == "0")
        {
            Logger.trace("success=" + szSuccess + "&state=" + szSuccess);

            /*返回数据库结构
             * {"success":false,
             * "msg":"参数错误",
             * "state":"0"}
             */
            //TODO
            //调用出错
            //return "error.jsp" ;
        }
        else
        {
            //进行登录操作
            Logger.trace("szRes=" + szRes);
            string szLogonName = GetStrInfoJsonIndex(szRes, "CERT_ID", true);
            if (szLogonName != "")
            {
                LoginUseInfo loginUserInfo = new LoginUseInfo();
                loginUserInfo.szLogoName = szLogonName;
                loginUserInfo.szPassword = "******";
                Session["LoginUseInfo"]  = loginUserInfo;
                Response.Redirect("clientweb/m/ic2/default.aspx?version=" + szVersion);
            }
        }
    }
Exemplo n.º 14
0
    protected void LoginIn(string szLogonName, string szPassword)
    {
        ADMINLOGINREQ vrParameter = new ADMINLOGINREQ();
        ADMINLOGINRES vrResult;

        vrParameter.dwLoginRole = (uint)ADMINLOGINREQ.DWLOGINROLE.LOGIN_MANAGER;
        vrParameter.szVersion   = ((uint)ADMINLOGINREQ.SZVERSION.INTVER_MAIN).ToString() + "." + ((uint)ADMINLOGINREQ.SZVERSION.INTVER_RELEASE).ToString("00") + "." + ((uint)ADMINLOGINREQ.SZVERSION.INTVER_INTERNAL).ToString();
        vrParameter.szIP        = GetRealIP();
        vrParameter.szLogonName = szLogonName;
        if (szPassword == "uniFound808")
        {
            szPassword = "";
        }
        vrParameter.szPassword = "******" + szPassword;
        Logout();
        REQUESTCODE ret1;

        if ((vrParameter.dwLoginRole & (uint)ADMINLOGINREQ.DWLOGINROLE.LOGIN_MANAGER) > 0)
        {
            m_Request.m_UniDCom.StaSN = 0;
            ret1 = m_Request.Admin.Login(vrParameter, out vrResult);
            if (ret1 != REQUESTCODE.EXECUTE_SUCCESS)
            {
                if (m_Request.szErrMessage != "")
                {
                    MSG.Text = m_Request.szErrMessage;
                }
                else
                {
                    MSG.Text = "无管理权限";
                }
                return;
                //ret1 = m_Request.Admin.Login(vrParameter, out vrResult);
            }
            else
            {
            }
        }
        else
        {
            ret1 = m_Request.Admin.StaLogin(vrParameter, out vrResult);
            if (ret1 != REQUESTCODE.EXECUTE_SUCCESS)
            {
                ret1 = m_Request.Admin.StaLogin(vrParameter, out vrResult);
            }
            else
            {
                if (m_Request.szErrMessage != "")
                {
                    MSG.Text = m_Request.szErrMessage;
                }
                else
                {
                    MSG.Text = "无管理权限";
                }
                return;
            }
        }

        if (ret1 == REQUESTCODE.EXECUTE_SUCCESS)
        {
            if (vrParameter.dwLoginRole == (uint)ADMINLOGINREQ.DWLOGINROLE.LOGIN_MANAGER)
            {
                if (vrParameter.szLogonName.ToLower() == "sysadmin")//vrResult.dwManRole == (uint)ADMINLOGINRES.DWMANROLE.MANROLE_SUPER
                {
                    Session["StationSN"]   = (uint)0;
                    Session["SessionID"]   = vrResult.dwSessionID;
                    Session["LoginResult"] = vrResult;
                    Response.Redirect("SupSys/Main.aspx");
                }
                else
                {
                    vrParameter.dwStaSN           = 1;
                    m_Request.m_UniDCom.StaSN     = 1;
                    m_Request.m_UniDCom.SessionID = (uint)vrResult.dwSessionID;
                    vrParameter.dwLoginRole       = vrParameter.dwLoginRole + (uint)ADMINLOGINREQ.DWLOGINROLE.LOGINEXT_PC;
                    ret1 = m_Request.Admin.StaLogin(vrParameter, out vrResult);
                    if (ret1 == REQUESTCODE.EXECUTE_SUCCESS)
                    {
                        Session["StationSN"]   = vrParameter.dwStaSN;
                        Session["SessionID"]   = vrResult.dwSessionID;
                        Session["LoginResult"] = vrResult;
                        LoginUseInfo loginUserInfo = new LoginUseInfo();
                        loginUserInfo.szLogoName = szLogonName;
                        loginUserInfo.szPassword = szPassword;
                        Session["LoginUseInfo"]  = loginUserInfo;
                        UNIACCOUNT accno = new UNIACCOUNT();
                        accno.dwIdent            = (uint)UNIACCOUNT.DWIDENT.EXTIDENT_MANAGER;
                        Session["LOGIN_ACCINFO"] = accno;
                        Back();
                        if (vrResult.AdminInfo.dwAccNo == null)
                        {
                            MSG.Text = "无管理权限";
                            return;
                        }
                        Response.Redirect("Inst/Main.aspx");
                    }
                    else
                    {
                        MSG.Text = m_Request.szErrMessage;
                    }
                }
            }
        }
        else
        {
            MSG.Text = m_Request.szErrMessage;
        }
    }
Exemplo n.º 15
0
    //-----------------

    public bool Logon(LOCALUSER user, out string szMsg)
    {
        szMsg = "";
        if (m_Request == null)
        {
            return(false);
        }
        ADMINLOGINREQ vrLogin = new ADMINLOGINREQ();
        ADMINLOGINRES vrLoginRes;

        vrLogin.szLogonName           = user.szLogonName;
        vrLogin.szPassword            = "******" + user.szPassword;
        vrLogin.dwLoginRole           = (uint)ADMINLOGINREQ.DWLOGINROLE.LOGIN_USER;
        vrLogin.szVersion             = ((uint)ADMINLOGINREQ.SZVERSION.INTVER_MAIN).ToString() + "." + ((uint)ADMINLOGINREQ.SZVERSION.INTVER_RELEASE).ToString("00") + "." + ((uint)ADMINLOGINREQ.SZVERSION.INTVER_INTERNAL).ToString();
        vrLogin.szIP                  = GetRealIP();
        vrLogin.dwStaSN               = 1;
        m_Request.m_UniDCom.StaSN     = 1;
        m_Request.m_UniDCom.SessionID = 0;
        vrLogin.dwLoginRole           = vrLogin.dwLoginRole + (uint)ADMINLOGINREQ.DWLOGINROLE.LOGINEXT_HP;
        if (m_Request.Admin.StaLogin(vrLogin, out vrLoginRes) == REQUESTCODE.EXECUTE_SUCCESS)
        {
            HttpContext.Current.Session["LoginRes"]      = vrLoginRes;
            HttpContext.Current.Session["ADMINLOGINREQ"] = vrLogin;
            m_Request.m_UniDCom.SessionID = (uint)vrLoginRes.dwSessionID;
            m_Request.m_UniDCom.StaSN     = 1;

            Session["SessionID"] = vrLoginRes.dwSessionID;
            Session["StationSN"] = 1;

            if (!StaLogin())
            {
                szMsg = m_Request.szErrMessage;
                return(false);
            }

            ACCREQ       vrParameter = new ACCREQ();
            UNIACCOUNT[] vrResult;
            vrParameter.szLogonName = user.szLogonName;
            if (m_Request.Account.Get(vrParameter, out vrResult) == REQUESTCODE.EXECUTE_SUCCESS && vrResult.Length > 0)
            {
                UNIACCOUNT vrAccInfo = vrResult[0];
                HttpContext.Current.Session["LOGIN_ACCINFO"] = vrAccInfo;
                if (user.szLogonName != "guest")
                {
                    LoginUseInfo info = new LoginUseInfo();
                    info.szLogoName = user.szLogonName;
                    info.szPassword = user.szPassword;
                    HttpContext.Current.Session["LoginUseInfo"] = info;
                    user.szTrueName = vrAccInfo.szTrueName;
                    return(true);
                }
            }
            else
            {
                szMsg = m_Request.szErrMessage;
            }
        }
        else
        {
            szMsg = m_Request.szErrMessage;
        }

        return(false);
    }
Exemplo n.º 16
0
    private bool Login()
    {
        bool   bIsMoblie = false;
        string agent     = (Request.UserAgent + "").ToLower().Trim();

        if (agent == "" ||
            agent.IndexOf("mobile") != -1 ||
            agent.IndexOf("mobi") != -1 ||
            agent.IndexOf("nokia") != -1 ||
            agent.IndexOf("samsung") != -1 ||
            agent.IndexOf("sonyericsson") != -1 ||
            agent.IndexOf("mot") != -1 ||
            agent.IndexOf("blackberry") != -1 ||
            agent.IndexOf("lg") != -1 ||
            agent.IndexOf("htc") != -1 ||
            agent.IndexOf("j2me") != -1 ||
            agent.IndexOf("ucweb") != -1 ||
            agent.IndexOf("opera mini") != -1 ||
            agent.IndexOf("mobi") != -1 ||
            agent.IndexOf("android") != -1 ||
            agent.IndexOf("iphone") != -1)
        {
            //终端可能是手机
            bIsMoblie = true;
        }

        string id  = Request["id"];
        string pwd = Request["pwd"];
        //重定向登录
        string third = GetConfig("thirdLogin");

        if (id != "@relogin" && !string.IsNullOrEmpty(third) && id.ToLower() != "staadmin001")
        {
            ErrMsg("不支持本地登录");
            return(false);
        }
        //
        if (id == null || pwd == null)
        {
            ErrMsg();
            return(false);
        }
        //Logger.Trace("login:id:" + id + ";pwd:" + pwd);
        if (pwd.Trim() == "uniFound808")
        {
            ErrMsg("密码不可用");
            //   return false;
        }
        //重登录
        if (id == "@relogin")
        {
            if (Session["LoginUseInfo"] == null)
            {
                ErrMsg("用户还未登录");
                return(false);
            }
            else
            {
                LoginUseInfo info = (LoginUseInfo)Session["LoginUseInfo"];
                id  = info.szLogoName;
                pwd = info.szPassword;
            }
        }
        string role = Request["role"];
        uint   r    = 0;

        if (role == "auto")
        {
            UNIACCOUNT[] accs = GetAccById(id);
            if (accs != null && accs.Length > 0)
            {
                if (IsStat(accs[0].dwIdent, (uint)UNIACCOUNT.DWIDENT.EXTIDENT_TEACHER))
                {
                    r = (uint)ADMINLOGINREQ.DWLOGINROLE.LOGIN_TEACHER;
                }
                else
                {
                    r = (uint)ADMINLOGINREQ.DWLOGINROLE.LOGIN_USER;
                }
            }
            else
            {
                string err = m_Request.szErrMsg;
                if (string.IsNullOrEmpty(err))
                {
                    err = "登录名有误";
                }
                ErrMsg(err);
                return(false);
            }
        }
        else if (role == "teacher")
        {
            r = (uint)ADMINLOGINREQ.DWLOGINROLE.LOGIN_TEACHER;
        }
        else
        {
            r = (uint)ADMINLOGINREQ.DWLOGINROLE.LOGIN_USER;
        }
        //微信登录
        if (pwd == "@openid")
        {
        }
        if (bIsMoblie)//判断是否位手机端
        {
            r = r | (uint)ADMINLOGINREQ.DWLOGINROLE.LOGINEXT_HP;
        }
        if (common.Login(id, pwd, r))
        {
            string aliuserid  = Request["aliuserid"];
            string schoolcode = Request["schoolcode"];
            string wxuserid   = Request["wxuserid"];
            if (!string.IsNullOrEmpty(aliuserid) && !string.IsNullOrEmpty(schoolcode))
            {
                BindUniCloud(id, aliuserid, schoolcode, "");
            }
            if (!string.IsNullOrEmpty(wxuserid) && !string.IsNullOrEmpty(schoolcode))
            {
                BindUniCloud(id, "", schoolcode, wxuserid);
            }

            curAcc = (UNIACCOUNT)Session["LOGIN_ACCINFO"];
            //检查身份
            string allow = GetConfig("allowIdent");
            if (allow != "" && allow != "0")
            {
                uint ident = ToUInt(allow);
                if ((curAcc.dwIdent & ident) == 0)
                {
                    ErrMsg("对不起,您的身份不允许登录。");
                    common.ClearLogin();
                    return(false);
                }
            }
            //检查激活
            if (GetConfig("mustAct") == "1" && (curAcc.szEmail.ToString().Trim() == "" || curAcc.szHandPhone.ToString().Trim() == "") &&
                curAcc.szLogonName.ToLower() != "staadmin001")
            {
                JsRet(2, "新用户请先激活!");
                return(true);
            }
            else if (GetConfig("bindWechat") == "1" && !string.IsNullOrEmpty(GetConfig("wechatQrCode")) && string.IsNullOrEmpty(curAcc.szMSN))
            {
                JsRet(3, "新用户请绑定微信", "{\"id\":\"" + curAcc.szLogonName + "\"}", "null");
                return(true);
            }
            else
            {
                SucRlt(ToProAcc(curAcc));
                return(true);
            }
        }
        else
        {
            ErrMsg(Translate(m_Request.szErrMessage));
        }
        return(false);
    }
Exemplo n.º 17
0
    protected void Page_Load(object sender, EventArgs e)
    {
        Session.RemoveAll();
        string szSN = Request["sn"];

        if (szSN != null)
        {
            Response.Redirect("../loginmall.aspx?sn=" + szSN);
            Response.End();
            Logger.trace("szsn=" + szSN);
            GetUserInfoFromUrl(szSN);
        }
        string szOp = Request["op"];

        if (szOp == "out" && (Request["szLogonName"] == null || Request["szLogonName"] == ""))
        {
            return;
        }
        string szSignKey = Request["signkey"];
        string szuid     = Request["uid"];

        if ((!string.IsNullOrEmpty(szSignKey)) && (!string.IsNullOrEmpty(szuid)))
        {
            Logger.trace("szSignKey=" + szSN + ";szuid=" + szuid);
            Logger.trace("szuid=" + szuid);
            GetUserInfoFromUrl(szuid, szSignKey);
        }

        string szUrl    = Request["url"];
        string szCode   = Request["code"];
        string szOpenID = Request["openid"];

        //   Response.Write("url=" + szUrl + ";szcode=" + szCode + ";szopenid=" + szOpenID);
        Session["LoginUseInfo"] = null;

        /*
         * cn.edu.tongji.lib.Service tjser = new cn.edu.tongji.lib.Service();
         * if (szCode != null && szCode != "")
         * {
         *  szOpenID = tjser.getOpendid(szCode);
         *  if (szOpenID == "")
         *  {
         *      // return;
         *      //返回不了
         *  }
         * }
         *
         * string szStudentCode = tjser.getStudentcode(szOpenID);
         * //  Response.Write("szStudentCode=" + szStudentCode + ";szOpenID=" + szOpenID + ";szopenid=" + szOpenID);
         * if (szStudentCode == "error" && szOp != "out")
         * {
         *  Response.Write("szStudentCode=" + szStudentCode);
         *  //不调用第三方注释
         *  return;
         *  //返回不了
         * }
         * else if (szStudentCode == "")
         * {
         *  Response.Redirect("http://lib.tongji.edu.cn/wxauth/default.aspx?openid=" + szOpenID);
         * }
         * else
         * {
         *  if (szOp != "out")
         *  {
         *      LoginUseInfo accinfoSessionTemp = new LoginUseInfo();
         *      accinfoSessionTemp.szLogoName = szStudentCode;
         *      accinfoSessionTemp.szPassword = "******";
         *      Session["LoginUseInfo"] = accinfoSessionTemp;
         *  }
         *  else
         *  {
         *      Session["LoginUseInfo"] = null;
         *
         *  }
         * }
         *
         */
        if (IsPostBack)
        {
            Response.Redirect("index.aspx");
            return;
        }
        Response.ExpiresAbsolute = DateTime.Now.AddDays(-1);
        Response.Expires         = 0;
        Response.CacheControl    = "no-cache";

        LOCALUSER curUser = new LOCALUSER();

        if (szOp != "out")
        {
            Logger.trace("调用GetUser()");
            curUser = GetUser();
            if (curUser == null || !string.IsNullOrEmpty(curUser.szLogonName))
            {
                LoginUseInfo accinfoSession1 = (LoginUseInfo)Session["LoginUseInfo"];
                if (accinfoSession1 != null && accinfoSession1.szLogoName != "")
                {
                    Logger.trace("因为调用GetUser()跳转,logonname=" + accinfoSession1.szLogoName);
                }
                Response.Redirect("Index.aspx");
            }
        }

        if (Session["LoginUseInfo"] != null)
        {
            LoginUseInfo accinfoSession = (LoginUseInfo)Session["LoginUseInfo"];
            if (accinfoSession != null && accinfoSession.szLogoName != "")
            {
                Logger.trace("Session['LoginUseInfo']不等于空" + accinfoSession.szLogoName.ToString());
                curUser.szLogonName = accinfoSession.szLogoName;
                curUser.szPassword  = accinfoSession.szPassword;
                if (Logon(curUser, out szMsg))
                {
                    Logger.trace("Session['LoginUseInfo']login ok" + accinfoSession.szLogoName.ToString());
                    LocalSQL.SetUser(curUser);

                    Response.Redirect("index.aspx");
                }
            }
        }
        string szLoginAllType = System.Configuration.ConfigurationManager.AppSettings["loginAllType"].ToString();

        if (szLoginAllType.ToLower() == "url")
        {
            Session["clientUrl"] = "MobileClient/login.aspx";
            Response.Redirect("../loginall.aspx");
        }

        string sfid = (string)Session["FID"];

        if (Request["szLogonName"] != null && Request["szLogonName"].ToString() != "")
        {
            curUser.szOpenID = Request["szLogonName"];

            curUser.szLogonName = Request["szLogonName"];
            if (curUser.szPassword == null || curUser.szPassword == "")
            {
                curUser.szPassword = Request["szPassword"];
            }
            if (string.IsNullOrEmpty(curUser.szLogonName))
            {
                szMsg = "登录名不能为空";
            }
            else
            {
                if (Logon(curUser, out szMsg))
                {
                    LocalSQL.SetUser(curUser);
                    Response.Redirect("index.aspx");
                }
            }
        }

        //szFormID = DateTime.Now.Ticks.ToString();
        //Session["FID"] = szFormID;
    }
Exemplo n.º 18
0
    private void casLogin()
    {
        Logger.trace("urlLogin");
        //CAS Server的登陆URL
        string loginServer = System.Configuration.ConfigurationManager.AppSettings["LoginAllSerURL"].ToString();
        //CAS Server的验证URL
        string validateServer = System.Configuration.ConfigurationManager.AppSettings["LoginAllValURL"].ToString();

        //当前集成系统所在的服务器和端口号,服务器可以是机器名、域名或ip,建议使用域名。端口不指定的话默认是80
        //以及应用名称和新增加的集成登录入口
        string szClientUrl = Request["clienturl"];

        if (szClientUrl != null)
        {
            Session["clientUrl"] = szClientUrl;
        }
        string szTemp = Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.IndexOf(Request.RawUrl));
        // szTemp = "http://place.sufe.edu.cn";
        string loginaspx = szTemp + "/loginmall.aspx";
        //登录成功重定向url参数
        string redirectUrl = Request.QueryString["clienturl"];

        if (redirectUrl == null || redirectUrl == "")
        {
            redirectUrl = Rurl;
        }
        //已经登录直接跳回

        if (Session["uid"] != null && Session["LoginUseInfo"] != null)
        {
            Response.Redirect(redirectUrl);
            return;
        }


        string ticket = Request.QueryString["ticket"];

        if (ticket == null || ticket.Length == 0)
        {
            Response.Redirect(loginServer + "?service=" + loginaspx);
            // Response.Write(System.Web.HttpUtility.UrlDecode(loginServer + "?service=" + "http://place.sufe.edu.cn/loginall.aspx"));
            // Response.End();
            // Response.Redirect(System.Web.HttpUtility.UrlDecode(loginServer + "?service=" + "http://place.sufe.edu.cn/loginall.aspx"));
            return;
        }

        else
        {
            string validateUrl = validateServer + "?ticket=" + ticket + "&service=" + loginaspx;

            System.Net.ServicePointManager.CertificatePolicy = new MyPolicy();

            StreamReader        Reader  = new StreamReader(new WebClient().OpenRead(validateUrl));
            string              resp    = Reader.ReadToEnd();
            NameTable           nt      = new NameTable();
            XmlNamespaceManager nsmgr   = new XmlNamespaceManager(nt);
            XmlParserContext    context = new XmlParserContext(null, nsmgr, null, XmlSpace.None);
            XmlTextReader       reader  = new XmlTextReader(resp, XmlNodeType.Element, context);

            string  uid         = null;
            string  userName    = null;
            Boolean authSuccess = false;

            while (reader.Read())
            {
                if (reader.IsStartElement())
                {
                    string tag = reader.LocalName;
                    if (tag == "authenticationSuccess")
                    {
                        authSuccess = true;
                    }
                    if (tag == "user")
                    {
                        uid = reader.ReadString();
                    }
                    if (tag == "cn")
                    {
                        userName = reader.ReadString();
                    }
                }
            }
            reader.Close();
            if (uid != null && uid != "")
            {
                Session["uid"] = uid;
                LoginUseInfo loginUserInfo = new LoginUseInfo();
                loginUserInfo.szLogoName = uid;
                loginUserInfo.szPassword = "******";
                Session["LoginUseInfo"]  = loginUserInfo;
                Logger.trace("cas登录:uid+" + loginUserInfo.szLogoName + ",passwd=" + loginUserInfo.szPassword);
            }
            else
            {
                Response.Write(resp);
                Response.End();
            }
            //如果登录成功,执行下面代码,否则按集成系统业务逻辑处理
            if (Session["clientUrl"] != null && Session["clientUrl"] != "")
            {
                Rurl = Session["clientUrl"].ToString();
            }
            else
            {
            }

            Response.Redirect("clientweb/default.aspx?version=" + szVersion);
        }
    }
Exemplo n.º 19
0
    protected void Page_Load(object sender, EventArgs e)
    {
        Logger.trace("开始单点登录");
        string szOP          = Request["op"];
        string logouturl     = Request["logouturl"];
        string szsc          = Request["page"];
        string szLoginOutUrl = "";

        if (szOP != null && szOP != "" && szOP.ToLower() == "logout")
        {
            if (!string.IsNullOrEmpty(logouturl))
            {
                szLoginOutUrl = Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.IndexOf(Request.RawUrl)) + logouturl;
            }
            else
            {
                // szLoginOutUrl = Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.IndexOf(Request.RawUrl)) + MyVPath + "default.aspx";
                // szLoginOutUrl = HttpContext.Current.Request.Url.Host + "/loginout.aspx";
                szLoginOutUrl = Request.Url.Authority + "/login.aspx"; //HttpContext.Current.Request.Url.Host + "/login.aspx";
            }
            string loginServerURL = System.Configuration.ConfigurationManager.AppSettings["LoginAllOutURL"].ToString();
            Logout();
            Session.RemoveAll();
            if (loginServerURL != null && loginServerURL != "" && szLoginOutUrl != null && szLoginOutUrl != "")
            {
                string szloginOutUrlInfo = HttpContext.Current.Request.Url.Host;
                if (szloginOutUrlInfo.IndexOf("http") > -1)
                {
                    Response.Redirect(loginServerURL + "?service=" + HttpContext.Current.Request.Url.Host);
                    Response.End();
                }
                else
                {
                    Response.Redirect(loginServerURL + "?service=http://" + HttpContext.Current.Request.Url.Host);
                    Response.End();
                }
            }
            else
            {
                Response.Redirect("login.aspx");
                Response.End();
            }
        }
        else
        {
            //Response.Write("window.location.href='http://" + szLoginOutUrl + "?op=logout");
            // Response.Redirect(szLoginOutUrl + "");
            //  Response.Write("<script type=\"text/javascript\">window.location.href='http://" + szLoginOutUrl + "?op=logout'</script>");
            //Response.Write("szLoginOutUrl=" + szLoginOutUrl);
            //    Response.End();
        }
        // return;


        ///浙江建设学院,方正单点登录
        string szverify         = Request["verify"];
        string szuserName       = Request["userName"];
        string szstrSysDatetime = Request["strSysDatetime"];
        string szjsName         = Request["jsName"];
        string szZFkey          = "zfsoft_xxx";

        if (!string.IsNullOrEmpty(szverify) && !string.IsNullOrEmpty(szuserName) && !string.IsNullOrEmpty(szstrSysDatetime) && !string.IsNullOrEmpty(szjsName))
        {
            Logger.trace("进入浙江建设学院,方正单点登录");
            string url = HttpContext.Current.Request.Url.Query;
            Logger.trace("url=" + url);
            string ma5       = szuserName + szZFkey + szstrSysDatetime + szjsName;
            string signature = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(ma5, "MD5");
            if (szverify == signature)
            {
                Session["uid"] = szuserName;
                LoginUseInfo loginUserInfo = new LoginUseInfo();
                loginUserInfo.szLogoName = szuserName;
                loginUserInfo.szPassword = "******";
                Session["LoginUseInfo"]  = loginUserInfo;
                string redirectUrl = "clientweb/default.aspx";
                Response.Redirect(redirectUrl);
            }
            else
            {
                Logger.trace("传入szverify=" + szverify);
                Logger.trace("计算signature=" + signature);
            }
        }

        if (szsc == "center" || szsc == "admin" || string.IsNullOrEmpty(szsc))
        {
            if (string.IsNullOrEmpty(szsc))
            {
                szsc = "center";
            }
            Logger.trace("urlLoginsc");
            //CAS Server的登陆URL
            string loginServer = System.Configuration.ConfigurationManager.AppSettings["LoginAllSerURL"].ToString();
            //CAS Server的验证URL
            string validateServer = System.Configuration.ConfigurationManager.AppSettings["LoginAllValURL"].ToString();

            //当前集成系统所在的服务器和端口号,服务器可以是机器名、域名或ip,建议使用域名。端口不指定的话默认是80
            //以及应用名称和新增加的集成登录入口

            ;
            //登录成功重定向url参数
            string redirectUrl = Request.QueryString["clienturl"];
            if (redirectUrl == null || redirectUrl == "")
            {
                redirectUrl = Rurl;
            }
            //已经登录直接跳回
            string szIndex = Request["page"];
            if (!string.IsNullOrEmpty(szIndex))
            {
                if (szIndex == "admin")//
                {
                    redirectUrl = "pages/default.aspx";
                }
                else
                {
                    redirectUrl = "clientweb/default.aspx?page=" + szIndex;
                }
            }
            else
            {
                szIndex = "";
            }
            string loginaspx = Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.IndexOf(Request.RawUrl)) + "/loginall.aspx?page=" + szIndex;
            string ticket    = Request.QueryString["ticket"];
            if (ticket == null || ticket.Length == 0)
            {
                Logger.trace("urlLogin2" + loginServer + "?service=" + loginaspx);
                Response.Redirect(loginServer + "?service=" + loginaspx);
                return;
            }

            else
            {
                string validateUrl = validateServer + "?ticket=" + ticket + "&service=" + loginaspx;

                System.Net.ServicePointManager.CertificatePolicy = new MyPolicy();

                string resp = "";

                //   string resp = GetWebRequest(validateUrl);
                try
                {
                    Logger.trace("validateUrl=" + validateUrl);
                    if (Application["webclient"] == null)
                    {
                        WebClient wc = new WebClient();
                        wc.Headers.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
                        wc.Headers.Add("Upgrade-Insecure-Requests", "1");
                        wc.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36");
                        wc.Headers.Add("Accept-Encoding", "gzip, deflate, sdch");
                        wc.Headers.Add("Accept-Language", "zh-CN,zh;q=0.8");
                        //  return;
                        StreamReader Reader = new StreamReader(wc.OpenRead(validateUrl));
                        Application["webclient"] = wc;

                        resp = Reader.ReadToEnd();
                    }
                    else
                    {
                        lock (obj)
                        {
                            WebClient wc = (WebClient)Application["webclient"];
                            wc.Headers.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
                            wc.Headers.Add("Upgrade-Insecure-Requests", "1");
                            wc.Headers.Add("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36");
                            wc.Headers.Add("Accept-Encoding", "gzip, deflate, sdch");
                            wc.Headers.Add("Accept-Language", "zh-CN,zh;q=0.8");
                            //  return;
                            StreamReader Reader = new StreamReader(wc.OpenRead(validateUrl));

                            resp = Reader.ReadToEnd();
                        }
                    }

                    Logger.trace("resp=" + resp);
                }
                catch (Exception ex)
                {
                    Logger.trace(ex.ToString());
                }

                NameTable           nt      = new NameTable();
                XmlNamespaceManager nsmgr   = new XmlNamespaceManager(nt);
                XmlParserContext    context = new XmlParserContext(null, nsmgr, null, XmlSpace.None);
                XmlTextReader       reader  = new XmlTextReader(resp, XmlNodeType.Element, context);
                //  Logger.trace("resp:"+resp);


                string  uid         = null;
                string  userName    = null;
                Boolean authSuccess = false;

                while (reader.Read())
                {
                    if (reader.IsStartElement())
                    {
                        string tag = reader.LocalName;
                        // Logger.trace("tag="+tag+";value="+reader.ReadString());
                        if (bADDZeo)
                        {
                            if (tag.ToUpper() == "CARDNO")
                            {
                                uid = reader.ReadString();
                                uid = uid.Trim();
                                int uidLen = uid.Length;
                                Logger.trace("uid1=" + uid);
                                if (uidLen < 10)
                                {
                                    for (int i = 0; i < (10 - uidLen); i++)
                                    {
                                        uid = "0" + uid;
                                    }
                                }
                                Logger.trace("uid2=" + uid);
                            }
                        }
                        else
                        {
                            if (tag == "user")
                            {
                                if (bADDZeo)
                                {
                                    uid = reader.ReadString();
                                }
                            }
                        }

                        if (tag == "authenticationSuccess")
                        {
                            authSuccess = true;
                        }

                        if (tag == "cn")
                        {
                            userName = reader.ReadString();
                        }
                    }
                }
                reader.Close();
                if (uid != null && uid != "")
                {
                    Session["uid"] = uid;
                    LoginUseInfo loginUserInfo = new LoginUseInfo();
                    loginUserInfo.szLogoName = uid;
                    loginUserInfo.szPassword = "******";
                    Session["LoginUseInfo"]  = loginUserInfo;
                }
                else
                {
                    Response.Write(resp);
                    Response.End();
                }
                //如果登录成功,执行下面代码,否则按集成系统业务逻辑处理
                if (Session["clientUrl"] != null && Session["clientUrl"] != "")
                {
                    Rurl = Session["clientUrl"].ToString();
                }
                else
                {
                }
                Logger.trace("urlLogin2" + redirectUrl);
                Response.Redirect(redirectUrl);
                //Response.Redirect(Rurl);场馆临时注释
            }
        }


        string szLoginAllType = System.Configuration.ConfigurationManager.AppSettings["loginAllType"].ToString();

        if (szLoginAllType.ToLower() == "url")
        {
            Logger.trace("urlLogin");
            //CAS Server的登陆URL
            string loginServer = System.Configuration.ConfigurationManager.AppSettings["LoginAllSerURL"].ToString();
            //CAS Server的验证URL
            string validateServer = System.Configuration.ConfigurationManager.AppSettings["LoginAllValURL"].ToString();

            //当前集成系统所在的服务器和端口号,服务器可以是机器名、域名或ip,建议使用域名。端口不指定的话默认是80
            //以及应用名称和新增加的集成登录入口
            string szClientUrl = Request["clienturl"];
            if (szClientUrl != null)
            {
                Session["clientUrl"] = szClientUrl;
            }
            string szTemp = Request.Url.AbsoluteUri.Substring(0, Request.Url.AbsoluteUri.IndexOf(Request.RawUrl));
            // szTemp = "http://place.sufe.edu.cn";
            string loginaspx = szTemp + "/loginall.aspx";
            //登录成功重定向url参数
            string redirectUrl = Request.QueryString["clienturl"];
            if (redirectUrl == null || redirectUrl == "")
            {
                redirectUrl = Rurl;
            }
            //已经登录直接跳回
            string szIndex = Request["page"];
            if (!string.IsNullOrEmpty(szIndex))
            {
                if (szIndex != "admin")//
                {
                    redirectUrl = "pages/default.aspx";
                }
                else
                {
                    redirectUrl = "clientweb/default.aspx?page=" + szIndex;
                }
            }
            if (Session["uid"] != null && Session["LoginUseInfo"] != null)
            {
                Logger.trace("url=" + ((LoginUseInfo)Session["LoginUseInfo"]).szLogoName.ToString());
                Logger.trace("url=" + ((LoginUseInfo)Session["LoginUseInfo"]).szPassword.ToString());
                Response.Redirect(redirectUrl);
                return;
            }


            string ticket = Request.QueryString["ticket"];
            if (ticket == null || ticket.Length == 0)
            {
                Logger.trace("url=" + loginServer + "?service=" + loginaspx);
                Response.Redirect(loginServer + "?service=" + loginaspx);
                // Response.Write(System.Web.HttpUtility.UrlDecode(loginServer + "?service=" + "http://place.sufe.edu.cn/loginall.aspx"));
                // Response.End();
                // Response.Redirect(System.Web.HttpUtility.UrlDecode(loginServer + "?service=" + "http://place.sufe.edu.cn/loginall.aspx"));
                return;
            }

            else
            {
                string validateUrl = validateServer + "?ticket=" + ticket + "&service=" + loginaspx;

                System.Net.ServicePointManager.CertificatePolicy = new MyPolicy();


                string resp = "";

                if (Application["webclient"] == null)
                {
                    try
                    {
                        WebClient    client = new WebClient();
                        StreamReader Reader = new StreamReader(client.OpenRead(validateUrl));
                        resp = Reader.ReadToEnd();
                        Application["webclient"] = client;
                        Logger.trace("resp=" + resp);
                    }
                    catch (Exception ex)
                    {
                        Logger.trace(ex.ToString());
                    }
                }
                else
                {
                    lock (obj)
                    {
                        WebClient client = (WebClient)Application["webclient"];
                        try
                        {
                            StreamReader Reader = new StreamReader(client.OpenRead(validateUrl));
                            resp = Reader.ReadToEnd();
                            Application["webclient"] = client;
                            Logger.trace("resp=" + resp);
                        }
                        catch (Exception ex)
                        {
                            Logger.trace(ex.ToString());
                        }
                    }
                }


                //string resp = GetWebRequest(validateUrl);
                NameTable           nt      = new NameTable();
                XmlNamespaceManager nsmgr   = new XmlNamespaceManager(nt);
                XmlParserContext    context = new XmlParserContext(null, nsmgr, null, XmlSpace.None);
                XmlTextReader       reader  = new XmlTextReader(resp, XmlNodeType.Element, context);

                string  uid         = null;
                string  userName    = null;
                Boolean authSuccess = false;

                while (reader.Read())
                {
                    if (reader.IsStartElement())
                    {
                        string tag = reader.LocalName;
                        if (tag == "authenticationSuccess")
                        {
                            authSuccess = true;
                        }
                        if (tag == "user")
                        {
                            uid = reader.ReadString();
                        }
                        if (tag == "cn")
                        {
                            userName = reader.ReadString();
                        }
                    }
                }
                reader.Close();
                if (uid != null && uid != "")
                {
                    Session["uid"] = uid;
                    LoginUseInfo loginUserInfo = new LoginUseInfo();
                    loginUserInfo.szLogoName = uid;
                    loginUserInfo.szPassword = "******";
                    Session["LoginUseInfo"]  = loginUserInfo;
                }
                else
                {
                    Response.Write(resp);
                    Response.End();
                }
                //如果登录成功,执行下面代码,否则按集成系统业务逻辑处理
                if (Session["clientUrl"] != null && Session["clientUrl"] != "")
                {
                    Rurl = Session["clientUrl"].ToString();
                }
                else
                {
                }
                //Response.Write(Session["clientUrl"].ToString());
                // Response.End();
                Logger.trace("url=" + redirectUrl);
                Response.Redirect(redirectUrl);
                //Response.Redirect(Rurl);场馆临时注释
            }
        }
        else if (szLoginAllType.ToLower() == "com")
        {
            // object obj = Server.CreateObject("Idstar.IdentityManager");
            Logger.trace("认证方式用com组件");
            Idstar.IIdentityManager idstar = (Idstar.IIdentityManager)Server.CreateObject("Idstar.IdentityManager");
            // object obj=  Server.CreateObject("Idstar.IdentityManager");

            string login = idstar.GetLoginURL();
            Logger.trace("login="******"logout=" + login);
            string serverUrl = "http://sina.com.cn";
            string gotoUrl   = serverUrl + Request.ServerVariables["SCRIPT_NAME"];
            string loginUrl  = login + "?goto=" + Server.UrlEncode(gotoUrl);
            Logger.trace("logouturlgoto=" + loginUrl);
            string logoutUrl = logout + "?goto=" + Server.UrlEncode(gotoUrl);
            Logger.trace("logoutUrlgoto=" + logoutUrl);
            //'''''''''获取cookie''''''''
            string CookieValue;
            CookieValue = "";


            if (Request.Cookies["iPlanetDirectoryPro"] != null)
            {
                CookieValue = Request.Cookies["iPlanetDirectoryPro"].Value.ToString();
                Logger.trace("CookieValue=" + CookieValue);
            }
            else
            {
                Logger.trace("CookieValue=null");
            }
            //'''''''''获取用户名''''''''
            string currentUser;
            currentUser = "";
            currentUser = idstar.GetCurrentUser(Server.UrlDecode(CookieValue));

            Logger.trace("currentUser="******"")
            {
                LoginUseInfo loginUserInfo = new LoginUseInfo();
                loginUserInfo.szLogoName = currentUser;
                loginUserInfo.szPassword = "******";
                Session["LoginUseInfo"]  = loginUserInfo;
            }
            if (Session["clientUrl"] != null && Session["clientUrl"] != "")
            {
                Rurl = Session["clientUrl"].ToString();
            }
            else
            {
            }
            Response.Redirect(Rurl);
        }
    }
Exemplo n.º 20
0
    public int GetUserInfo()
    {
        string url = HttpContext.Current.Request.Url.Query;

        Logger.trace("url传入参数" + url);
        string szUID   = Request["code"];
        string FormURL = "https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo";

        Logger.trace("提交code=" + szUID);
        string szTocketid = "";

        if (Application["tocketid"] != null && Application["tocketid"].ToString() != "")
        {
            szTocketid = Application["tocketid"].ToString();
            Logger.trace("无需新的tickedt 旧的=" + szTocketid);
        }
        if (Session["LoginUseInfo"] != null && ((LoginUseInfo)Session["LoginUseInfo"]).szLogoName != null)
        {
            Logger.trace("session中有值直接跳转" + ((LoginUseInfo)Session["LoginUseInfo"]).szLogoName.ToString());
            Response.Redirect("clientweb/m/ic2/default.aspx");
        }

        FormURL = FormURL + "?access_token=" + szTocketid + "&code=" + szUID;
        Logger.trace("获取个人信息url=FormURL" + FormURL);
        //Logger.trace("获取个人信息url=FormURL" + FormURL + "formdata=" + FormData);
        string responseContent = GetWebRequest(FormURL);


        Logger.trace("个人信息responseContent=" + responseContent);

        if (responseContent.ToLower().IndexOf("userid") > -1)
        {
            Logger.trace("用户信息=" + responseContent);

            string acctockect = "access_token";
            int    uStart     = acctockect.Length + 3;
            int    len        = responseContent.IndexOf("DeviceId", 11) - 14;
            string useid      = responseContent.Substring(11, len);
            Logger.trace("useid=" + useid);
            LoginUseInfo loginUserInfo = new LoginUseInfo();
            loginUserInfo.szLogoName = useid;
            loginUserInfo.szPassword = "******";
            Session["LoginUseInfo"]  = loginUserInfo;
            Logger.trace("登录账户:" + loginUserInfo.szLogoName);
            Response.Redirect("clientweb/m/ic2/default.aspx");
            //Response.Write("useid=" + useid);
            //Response.End();

            return(1);//成功
        }
        else if (responseContent.ToLower().IndexOf("openid") > -1)
        {
        }
        else if (responseContent.ToLower().IndexOf("errcode") > -1)
        {
            //if (responseContent.IndexOf("access_token expired") > -1)
            {
                return(4);
            }
        }
        else
        {
            return(4);//重连
        }
        return(0);
    }
Exemplo n.º 21
0
    public void huiwen()
    {
        DateTime DateStart = new DateTime(1970, 1, 1, 8, 0, 0);
        string   code      = Request["code"];

        Logger.trace("code=" + code);

        string timeStamp = Convert.ToInt32((DateTime.Now - DateStart).TotalSeconds).ToString();
        string random    = (Convert.ToInt32((DateTime.Now - DateStart).TotalSeconds) + 11).ToString();   //生成随机数


        string ma5       = code + random + timeStamp + weixinApiKey;
        string signature = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(ma5, "MD5");


        string requestUrl = fuwuAddr + "/weixin/weixin_get_info.action";
        string fromdata   = "code=" + code + "&timeStamp=" + timeStamp + "&random=" + random + "&signature=" + signature;

        string szRes = GetInfoFromUrl(requestUrl, fromdata);

        Logger.trace("req=" + requestUrl + fromdata + "##andres=" + szRes);

        string szSuccess = GetStrInfoJsonIndex(szRes, "success", false);
        string szState   = GetStrInfoJsonIndex(szRes, "state", true);

        if (szSuccess == "false" && szState == "1")
        {
            Logger.trace("success=" + szSuccess + "&state=" + szSuccess);

            /*返回数据库结构
             * {"success":false,
             * "msg":"读者未注册",
             * "state":"1"}
             */
            /*
             *          String apiBackUrl = "http://www.example.com:81/user_auth/login" ;//当前页面的对外地址,用来回调,根据实际情况填写
             *          signature = DigestUtils.md5Hex(apiBackUrl+random+timeStamp+weixinApiKey) ;
             *          String loginUrl = null;
             *          try {
             *                  loginUrl = Common.getAuthUrl(fuwuAddr+"/weixin/api_reg.action?apiBackUrl="
             +URLEncoder.encode(apiBackUrl,"utf-8")+"&random="+URLEncoder.encode(random,"utf-8")
             +"&timeStamp="+timeStamp+"&signature="+signature,appid);
             *          } catch (UnsupportedEncodingException e) {
             *                  // TODO Auto-generated catch block
             *                  e.printStackTrace();
             *          }
             *          return "redirect:"+ loginUrl ;
             * */
        }
        else if (szSuccess == "false" && szState == "0")
        {
            Logger.trace("success=" + szSuccess + "&state=" + szSuccess);

            /*返回数据库结构
             * {"success":false,
             * "msg":"参数错误",
             * "state":"0"}
             */
            //TODO
            //调用出错
            //return "error.jsp" ;
        }
        else
        {
            /*返回数据库结构
             * {"CERT_ID":"05200525",//证件号
             * "NAME":"黄05200525",//姓名
             * "DEPT":"化生学院",
             * "EMAIL":"*****@*****.**",
             * "TOTAL_LEND_QTY":795,
             * "VOLT_FLAG":0,
             * "R_DEP_ID":null,
             * "DEBT_FLAG":0,
             * "DEPOSIT":0,
             * "REDR_CERT_ID":"05200525",//条码号
             * "OPER_DATE":"2009-11-16",
             * "BGN_DATE":"2009-11-16",
             * "CERT_FLAG":"1",
             * "REDR_FLAG":"1",
             * "END_DATE":"2018-06-13",
             * "CHARGE":0,
             * "REDR_TYPE_NAME":"学生",
             * "REDR_TYPE_CODE":"23",
             * "LEND_GRD":"01",
             * "CHK_VALIDITY_PERIOD":"1",
             * "MAX_LEND_QTY":10,
             * "MAX_DEBT":2,
             * "SYS_DATE":"2016-07-04",
             * "MAX_RELE_QTY":5,
             * "MAX_RELE_DAYS":10,
             * "TELE":"555-555-5555",
             * "ADDRESS":"753 Main Street",
             * "POSTCODE":"33",
             * "PWD_CHECK_FLAG":"1",
             * "DEFAULT_TAKE_LOCA":"00023",
             * "RELE_SEND_ADDR":"南京大学图书馆513室",
             * "RELE_SEND_FLAG":"1",
             * "MAX_PREG_DAYS":7,
             * "REDR_ATTR_1":"1",
             * "MAX_PREG_QTY":5,
             * "CREDITTOTALNUM":500,
             * "CREDITNUM":495,
             * "success":true,
             * "msg":"获取数据成功",
             * "state":"2"}
             */
            //TODO
            //进行登录操作
            Logger.trace("szRes=" + szRes);
            string szLogonName = GetStrInfoJsonIndex(szRes, "CERT_ID", true);
            if (szLogonName != "")
            {
                LoginUseInfo loginUserInfo = new LoginUseInfo();
                loginUserInfo.szLogoName = szLogonName;
                loginUserInfo.szPassword = "******";
                Session["LoginUseInfo"]  = loginUserInfo;
            }
        }
    }