Ejemplo n.º 1
0
        public async Task <string> GetAttachmentDownloadURL()
        {
            string Guid = Request.Form["Guid"].ToString();
            UserLoginSoapClient client = new UserLoginSoapClient(UserLoginSoapClient.EndpointConfiguration.UserLoginSoap);

            return(await client.GetAttachmentDownloadURLAsync(Guid));
        }
Ejemplo n.º 2
0
        private string UserLoginAndGetMCKey(string mgccAuthKey)
        {
            Logger.Info("进入用户登录:mgccKey为:" + mgccAuthKey);
            var userName  = string.Empty;
            var userPwd   = string.Empty;
            var AesResult = GetAesKey();
            var openid    = _cacheManager.GetCache(AppConsts.Cache_AuthKey2OpenID).GetOrDefaultAsync(mgccAuthKey).Result;

            Logger.Info("用户OPENID为:" + openid);


            Logger.Info("使用默认用户名登录:");
            return(_cacheManager.GetCache(AppConsts.Cache_MCAuthKey).Get <string, string>("DefaultMCAuthKey", c =>
            {
                UserLoginSoapClient client = new UserLoginSoapClient(UserLoginSoapClient.EndpointConfiguration.UserLoginSoap);
                var EncryptPassword = "";
                try
                {
                    EncryptPassword = AesCryptoService.Encrypt(defaultUserPwd, AesResult.CryptAESKey, AesResult.CryptAESIV);
                }
                catch
                {
                    AesResult = GetAesKey(true);
                    EncryptPassword = AesCryptoService.Encrypt(defaultUserPwd, AesResult.CryptAESKey, AesResult.CryptAESIV);
                }
                var result = client.LoginExAsync(new LoginExRequest {
                    UserName = defaultUserName, EncryptPassword = EncryptPassword, DeviceCode = deviceCode
                }).Result;
                return result.AuthKey;
            }));
        }
Ejemplo n.º 3
0
        private async Task <string> DefaultLoginAndGetMCKey()
        {
            var userName  = string.Empty;
            var userPwd   = string.Empty;
            var AesResult = await GetAesKey();

            return(await _cacheManager.GetCache(AppConsts.Cache_MCAuthKey).GetAsync <string, string>("DefaultMCAuthKey", async c =>
            {
                UserLoginSoapClient client = new UserLoginSoapClient(UserLoginSoapClient.EndpointConfiguration.UserLoginSoap);
                var EncryptPassword = "";
                try
                {
                    EncryptPassword = AesCryptoService.Encrypt(defaultUserPwd, AesResult.CryptAESKey, AesResult.CryptAESIV);
                }
                catch
                {
                    AesResult = await GetAesKey(true);
                    EncryptPassword = AesCryptoService.Encrypt(defaultUserPwd, AesResult.CryptAESKey, AesResult.CryptAESIV);
                }
                var result = await client.LoginExAsync(new LoginExRequest {
                    UserName = defaultUserName, EncryptPassword = EncryptPassword, DeviceCode = deviceCode
                });
                return result.AuthKey;
            }));
        }
Ejemplo n.º 4
0
        public async Task <int> Logout()
        {
            string AuthKey             = Request.Form["AuthKey"].ToString();
            UserLoginSoapClient client = new UserLoginSoapClient(UserLoginSoapClient.EndpointConfiguration.UserLoginSoap);

            return(await client.LogoutAsync(AuthKey));
        }
Ejemplo n.º 5
0
        /// <summary>
        /// 获取会员AuthKey
        /// </summary>
        /// <param name="userName"></param>
        /// <param name="password"></param>
        /// <returns></returns>
        public async Task <string> GetUserMemberAuthKey(string userName, string password)
        {
            var AesResult = await GetAesKey();

            return((string)await _cacheManager.GetCache(AppConsts.Cache_MCAuthKey).GetAsync <string, string>($"{userName}.Activity", async c =>
            {
                UserLoginSoapClient client = new UserLoginSoapClient(UserLoginSoapClient.EndpointConfiguration.UserLoginSoap);
                var EncryptPassword = "";
                try
                {
                    EncryptPassword = AesCryptoService.Encrypt(password, AesResult.CryptAESKey, AesResult.CryptAESIV);
                }
                catch
                {
                    AesResult = await GetAesKey(true);
                    EncryptPassword = AesCryptoService.Encrypt(password, AesResult.CryptAESKey, AesResult.CryptAESIV);
                }
                //获取最新的AuthKey
                var result = await client.LoginExAsync(new LoginExRequest
                {
                    UserName = userName,
                    EncryptPassword = EncryptPassword,
                    DeviceCode = deviceCode
                });
                return result.AuthKey;
            }));
        }
Ejemplo n.º 6
0
        public async Task <int> Login_GetNewMsg()
        {
            string AuthKey             = Request.Form["AuthKey"].ToString();
            UserLoginSoapClient client = new UserLoginSoapClient(UserLoginSoapClient.EndpointConfiguration.UserLoginSoap);
            var result = await client.Login_GetNewMsgAsync(AuthKey);

            if (result == -100)
            {
                result = await client.Login_GetNewMsgAsync(AuthKey);
            }
            return(result);
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 注册按钮操作方法
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnRegister_Click(object sender, EventArgs e)
        {
            string userName = txtUserName.Text.Trim();
            string userPsw  = txtUserPsw.Text.Trim();
            string userPerm = txtPerm.Text.Trim();


            UserLoginSoapClient soapClient = new UserLoginSoapClient();
            string message = soapClient.Register(userName, userPsw, userPerm);

            MessageBox.Show(message, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Information);//提示注册是否成功
        }
Ejemplo n.º 8
0
        public async Task <ResetPasswordResponse> ResetPassword()
        {
            string mgccAuthKey = Request.Form["AuthKey"].ToString();
            string mobilePhone = Request.Form["Mobile"].ToString();
            string newPassword = Request.Form["NewPwd"].ToString();
            int    verifyID    = int.Parse(Request.Form["VerifyID"].ToString());
            string verifyCode  = Request.Form["VerifyCode"].ToString();
            string AesKey      = Request.Form["AesKey"].ToString();
            string Iv          = Request.Form["Iv"].ToString();

            UserLoginSoapClient client2 = new UserLoginSoapClient(UserLoginSoapClient.EndpointConfiguration.UserLoginSoap);
            var EncryptPassword         = "";

            EncryptPassword = AesCryptoService.Encrypt(newPassword, AesKey, Iv);
            var data = await client2.ResetPasswordAsync(new ResetPasswordRequest
            {
                AuthKey    = await DefaultUserLoginAndGetMCKey(false),
                mobile     = mobilePhone,
                newpwd     = EncryptPassword,
                VerifyCode = verifyCode,
                VerifyID   = verifyID
            });

            if (data.ResetPasswordResult != 0)
            {
                data = await client2.ResetPasswordAsync(new ResetPasswordRequest
                {
                    AuthKey    = await DefaultUserLoginAndGetMCKey(),
                    mobile     = mobilePhone,
                    newpwd     = EncryptPassword,
                    VerifyCode = verifyCode,
                    VerifyID   = verifyID
                });
            }
            var resultData = data.ResetPasswordResult == 0;

            if (resultData)
            {
                var openid = await _cacheManager.GetCache(AppConsts.Cache_AuthKey2OpenID)
                             .GetOrDefaultAsync <string, string>(mgccAuthKey);
                await SetMemberInfo(openid, data.username, newPassword, mgccAuthKey, AesKey, Iv, mobilePhone);
            }

            return(data);
        }
Ejemplo n.º 9
0
        private string GetMemberAuthKey(string mgccAuthKey)
        {
            var AesResult = GetAesKey();
            var openid    = _cacheManager.GetCache(AppConsts.Cache_AuthKey2OpenID).GetOrDefaultAsync(mgccAuthKey).Result;

            if (openid != null)//MgccKey没过期
            {
                var _memberInfo = _mpUserMemberAppService.GetByOpenID(openid.ToString()).Result;
                if (_memberInfo != null)//会员->用会员帐户名登陆
                {
                    Logger.Info("登录的会员信息:" + JsonConvert.SerializeObject(_memberInfo));

                    Logger.Info("会员登录:" + mgccAuthKey);
                    Logger.Info("用户名:" + _memberInfo.MemeberUserName + ",密码:" + _memberInfo.MemberPassword);

                    return((string)_cacheManager.GetCache(AppConsts.Cache_MCAuthKey).Get <string, string>(mgccAuthKey, c =>
                    {
                        UserLoginSoapClient client = new UserLoginSoapClient(UserLoginSoapClient.EndpointConfiguration.UserLoginSoap);
                        var EncryptPassword = "";
                        try
                        {
                            EncryptPassword = AesCryptoService.Encrypt(_memberInfo.MemberPassword, AesResult.CryptAESKey, AesResult.CryptAESIV);
                        }
                        catch
                        {
                            AesResult = GetAesKey(true);
                            EncryptPassword = AesCryptoService.Encrypt(_memberInfo.MemberPassword, AesResult.CryptAESKey, AesResult.CryptAESIV);
                        }
                        //获取最新的AuthKey
                        var result = client.LoginExAsync(new LoginExRequest
                        {
                            UserName = _memberInfo.MemeberUserName,
                            EncryptPassword = EncryptPassword,
                            DeviceCode = deviceCode
                        }).Result;

                        return result.AuthKey;
                    }));
                }
            }
            return(null);
        }
Ejemplo n.º 10
0
        private void Login()
        {
            string userName = txtUserName.Text.Trim();
            string userPsw  = txtUserPsw.Text.Trim();
            UserLoginSoapClient userLogin = new UserLoginSoapClient();
            bool result = userLogin.Login(userName, userPsw);

            if (userName == null || userPsw == null)
            {
                MessageBox.Show("登录提示", "没有输入用户名或密码,请重新输入", MessageBoxButtons.OKCancel);
            }
            else if (result == true)
            {
                MainForm.userName = userName;
                this.DialogResult = DialogResult.OK;
            }
            else
            {
                MessageBox.Show("用户名或密码错误");
            }
        }
Ejemplo n.º 11
0
        /// <summary>
        /// 美驰默认账号登录并获取美驰authkey
        /// </summary>
        /// <returns></returns>
        private async Task <string> DefaultUserLoginAndGetMCKey(bool getnew = true)
        {
            if (!getnew)
            {
                var mckey = await _cacheManager.GetCache(AppConsts.Cache_MCAuthKey).GetOrDefaultAsync("DefaultMCAuthKey");

                if (mckey != null)
                {
                    return((string)mckey);
                }
            }

            UserLoginSoapClient client = new UserLoginSoapClient(UserLoginSoapClient.EndpointConfiguration.UserLoginSoap);
            var EncryptPassword        = "";
            var AesResult = await GetDefaultAesKey();

            try
            {
                EncryptPassword = AesCryptoService.Encrypt(defaultUserPwd, AesResult.CryptAESKey, AesResult.CryptAESIV);
            }
            catch
            {
                AesResult = await GetDefaultAesKey(true);

                EncryptPassword = AesCryptoService.Encrypt(defaultUserPwd, AesResult.CryptAESKey, AesResult.CryptAESIV);
            }
            var result = await client.LoginExAsync(new LoginExRequest { UserName = defaultUserName, EncryptPassword = EncryptPassword, DeviceCode = deviceCode });

            if (result.LoginExResult == 0 && !string.IsNullOrWhiteSpace(result.AuthKey))
            {
                await _cacheManager.GetCache(AppConsts.Cache_MCAuthKey).SetAsync("DefaultMCAuthKey", result.AuthKey);

                return(result.AuthKey);
            }
            else
            {
                return("");
            }
        }
Ejemplo n.º 12
0
        /// <summary>
        /// 获取AES回执
        /// </summary>
        /// <returns></returns>
        private async Task <ApplyAESEncryptKeyResponse> GetDefaultAesKey(bool getnew = false)
        {
            var result = await _cacheManager.GetCache(AppConsts.Cache_AesKeyModal).GetOrDefaultAsync("AesKeyResult");

            if (result == null || getnew)
            {
                UserLoginSoapClient client = new UserLoginSoapClient(UserLoginSoapClient.EndpointConfiguration.UserLoginSoap);

                RSAParameters publicKey = RsaService.GetRsaPublicKey();

                ApplyAESEncryptKeyResponse AesResult = await client.ApplyAESEncryptKeyAsync(new ApplyAESEncryptKeyRequest { DeviceCode = deviceCode, Modulus = Convert.ToBase64String(publicKey.Modulus), Exponent = Convert.ToBase64String(publicKey.Exponent) });

                await _cacheManager.GetCache(AppConsts.Cache_AesKeyModal).SetAsync("AesKeyResult", AesResult);

                return(AesResult);
            }
            else
            {
                ApplyAESEncryptKeyResponse AesResult = (ApplyAESEncryptKeyResponse)result;
                return(AesResult);
            }
        }
Ejemplo n.º 13
0
 public UserLoginSoapClient(EndpointConfiguration endpointConfiguration, System.ServiceModel.EndpointAddress remoteAddress) :
     base(UserLoginSoapClient.GetBindingForEndpoint(endpointConfiguration), remoteAddress)
 {
     this.Endpoint.Name = endpointConfiguration.ToString();
     ConfigureEndpoint(this.Endpoint, this.ClientCredentials);
 }
Ejemplo n.º 14
0
 public UserLoginSoapClient(EndpointConfiguration endpointConfiguration) :
     base(UserLoginSoapClient.GetBindingForEndpoint(endpointConfiguration), UserLoginSoapClient.GetEndpointAddress(endpointConfiguration))
 {
     this.Endpoint.Name = endpointConfiguration.ToString();
     ConfigureEndpoint(this.Endpoint, this.ClientCredentials);
 }