public IProviderRegistration AddBase64() { var base64Provider = new Base64Provider(); _cryptProviders.Add(base64Provider); return(this); }
public void RememberUser(string userName, string phone, string accessToken) { string userFolder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, GlobalUser.DATAFOLDER); string userDataFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, GlobalUser.DATAFOLDER, $"user.dat"); UserDataModel userDataModel = new UserDataModel { UserName = userName, Phone = phone, AccessToken = accessToken, Data = GlobalUser.USER }; string userEncoded = Base64Provider.AESEncrypt(userDataModel.ToJsonItem(), Base64Provider.KEY, Base64Provider.IV); try { if (!Directory.Exists(userFolder)) { Directory.CreateDirectory(userFolder); } if (!File.Exists(userDataFile)) { var file = File.Create(userDataFile); file.Close(); } using (StreamWriter sw = new StreamWriter(userDataFile, false)) { sw.Write(userEncoded); } } catch (Exception e) { Log4NetHelper.Error(" MainViewModelBase.OpenUserInfoDialog写入用户信息异常:", e); } }
/// <summary> /// 检查记住的用户。 /// </summary> private void CheckRememberUser(bool autoLogin = true) { try { var userDataFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, GlobalUser.DATAFOLDER, "user.dat"); if (File.Exists(userDataFile)) { using (var streamReader = new StreamReader(userDataFile)) { var userEncoded = streamReader.ReadToEnd(); if (!string.IsNullOrEmpty(userEncoded)) { var userData = Base64Provider.AESDecrypt(userEncoded, Base64Provider.KEY, Base64Provider.IV); var userDataModel = userData.FromJsonTo <UserDataModel>(); if (!string.IsNullOrEmpty(userDataModel?.Phone)) { GlobalUser.USER = userDataModel?.Data; GlobalUser.USER.Mobile = PhoneNum = userDataModel?.Phone; GlobalUser.USER.Password = Pwd = userDataModel?.Password; GlobalUser.USER.UserZy = userDataModel?.UserZy == null ? new List <TaskInfo>() : userDataModel?.UserZy; GlobalUser.USER.UnFirstOpen = userDataModel.UnFirstOpen; if (!string.IsNullOrEmpty(userDataModel?.AccessToken)) { GlobalUser.CLASSINFO = userDataModel?.ClassData; GlobalUser.STUDYCARD = userDataModel?.StudyCard; GlobalUser.GRADEINFO = userDataModel?.GradeData; GlobalUser.USER.Expire_status = GlobalUser.STUDYCARD.expire_status; var windows = Application.Current.Windows; //GlobalUser.LoginWin = new Window(); //foreach (Window window in windows) // if (window.Name == "ml") // GlobalUser.LoginWin = window; GlobalUser.AutoLoggedIn = true; checkOK = true; if (autoLogin) { LoggedIn(GlobalUser.LoginWin); } } } } } } } catch (Exception e) { Log4NetHelper.Error("读取用户信息异常:", e); } }
public void CanGenerateBase64() { var sut = new Base64Provider(); var expected = "\"TW9jayBzZXJ2ZXIgZ2VuZXJhdGVkIGZpbGU=\""; var actual = sut.GetMockData(Schema.Base64()); JsonAssert.Equal(expected, actual); }
private void LogoutEventHandler(object sender, DialogClosingEventArgs eventArgs) { if ((bool)eventArgs.Parameter == false) { return; } Application.Current.Dispatcher.Invoke(new Action(() => { //var logoutResult = WebProxy(ApiType.UserLogout, GlobalUser.USER.AccessToken);//暂时 不用调用接口 移除token记录 string userFolder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, GlobalUser.DATAFOLDER); string userDataFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, GlobalUser.DATAFOLDER, $"user.dat"); UserDataModel userDataModel = new UserDataModel { UserName = GlobalUser.USER.UserName, Phone = GlobalUser.USER.Moblie, AccessToken = "", Data = new UserInfo() }; GlobalUser.USER = null; string userEncoded = Base64Provider.AESEncrypt(userDataModel.ToJsonItem(), Base64Provider.KEY, Base64Provider.IV); try { if (!Directory.Exists(userFolder)) { Directory.CreateDirectory(userFolder); } if (!File.Exists(userDataFile)) { var file = File.Create(userDataFile); file.Close(); } using (StreamWriter sw = new StreamWriter(userDataFile, false)) { sw.Write(userEncoded); } } catch (Exception e) { Log4NetHelper.Error("写入用户信息异常:", e); } var winLogin = new MainLogin(); winLogin.Show(); winLogin.Focus(); GlobalUser.MainWin?.Hide(); //GlobalUser.MainWin?.Close(); GlobalUser.MainWin = null; //_metroWindow.Hide(); //_metroWindow.Close(); //_metroWindow = null; })); }
public void ShouldGetNull(string jsonDocument, bool isApplicable) { // Given var jsonElement = JsonDocument.Parse(jsonDocument).RootElement; // When var authenticationProvider = new Base64Provider(jsonElement, TestcontainersSettings.Logger); var authConfig = authenticationProvider.GetAuthConfig(DockerRegistry); // Then Assert.Equal(isApplicable, authenticationProvider.IsApplicable(DockerRegistry)); Assert.Null(authConfig); }
public void ShouldGetAuthConfig() { // Given const string jsonDocument = "{\"auths\":{\"" + DockerRegistry + "\":{\"auth\":\"dXNlcm5hbWU6cGFzc3dvcmQ=\"}}}"; var jsonElement = JsonDocument.Parse(jsonDocument).RootElement; // When var authenticationProvider = new Base64Provider(jsonElement, TestcontainersSettings.Logger); var authConfig = authenticationProvider.GetAuthConfig(DockerRegistry); // Then Assert.True(authenticationProvider.IsApplicable(DockerRegistry)); Assert.NotNull(authConfig); Assert.Equal(DockerRegistry, authConfig.RegistryEndpoint); Assert.Equal("username", authConfig.Username); Assert.Equal("password", authConfig.Password); }
// // GET: /Login/ //[OutputCache(Duration = 100)] public ActionResult Index() { var defaultLanguage = System.Configuration.ConfigurationManager.AppSettings["defaultLanguage"]; string backUrl = ""; if (this.SessionExt()["backUrl"] != null) { backUrl = this.SessionExt()["backUrl"].ToString(); } if (!string.IsNullOrEmpty(Request.QueryString["backUrl"])) { backUrl = Request.QueryString["backUrl"]; } if (backUrl == "/") { backUrl = "/" + defaultLanguage; } this.SessionExt()["backUrl"] = string.IsNullOrEmpty(backUrl) ? Url.RetechAction("Index", "Home", new { culture = CultureInfo.CurrentCulture.ToString() }) : backUrl; #region remember password //TempData["userName"] = ""; this.SessionExt()["password"] = ""; this.SessionExt()["remember"] = 0; HttpCookie httpCookie = Request.Cookies["RetechWing_User"]; if (httpCookie != null) { this.SessionExt()["remember"] = 1; this.SessionExt()["userName"] = httpCookie["username"]; this.SessionExt()["password"] = Base64Provider.DecodeBase64String(httpCookie["password"]); } #endregion var ps = _permissionManager.GetAllPermissions(); var psUpdateSql = new StringBuilder(); foreach (var permission in ps) { psUpdateSql.AppendFormat(@"UPDATE Sys_Permission SET AreaName='{0}' WHERE PermissionName='{1}'", permission.AreaName, permission.PermissionName); psUpdateSql.AppendLine(); } ViewBag.sql = psUpdateSql.ToString(); return(View()); }
/// <summary> /// 检查记住的用户。 /// </summary> private void CheckRememberUser() { try { string userDataFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, GlobalUser.DATAFOLDER, $"user.dat"); if (File.Exists(userDataFile)) { using (StreamReader streamReader = new StreamReader(userDataFile)) { string userEncoded = streamReader.ReadToEnd(); if (!String.IsNullOrEmpty(userEncoded)) { string userData = Base64Provider.AESDecrypt(userEncoded, Base64Provider.KEY, Base64Provider.IV); UserDataModel userDataModel = userData.FromJsonTo <UserDataModel>(); if (!String.IsNullOrEmpty(userDataModel?.Phone)) { PhoneNum = userDataModel?.Phone; if (!String.IsNullOrEmpty(userDataModel?.AccessToken)) { GlobalUser.USER = userDataModel?.Data; var windows = Application.Current.Windows; var loginWin = new Window(); foreach (Window window in windows) { if (window.Name == "ml") { loginWin = window as Window; } } GlobalUser.AutoLoggedIn = true; checkOK = true; LoggedIn(loginWin); } } } } } } catch (Exception e) { Log4NetHelper.Error("读取用户信息异常:", e); } }
public void RememberUser() { string userFolder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, GlobalUser.DATAFOLDER); string userDataFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, GlobalUser.DATAFOLDER, $"user.dat"); UserDataModel userDataModel = new UserDataModel { UserName = GlobalUser.USER.UserName, Phone = GlobalUser.USER.Mobile, Avatar = GlobalUser.USER.Avatar, AccessToken = GlobalUser.USER.Token, Password = GlobalUser.USER.Password, Data = GlobalUser.USER, ClassData = GlobalUser.CLASSINFO, UserZy = GlobalUser.USER.UserZy, StudyCard = GlobalUser.STUDYCARD, GradeData = GlobalUser.GRADEINFO, UnFirstOpen = GlobalUser.USER.UnFirstOpen }; string userEncoded = Base64Provider.AESEncrypt(userDataModel.ToJsonItem(), Base64Provider.KEY, Base64Provider.IV); try { if (!Directory.Exists(userFolder)) { Directory.CreateDirectory(userFolder); } if (!File.Exists(userDataFile)) { var file = File.Create(userDataFile); file.Close(); file.Dispose(); } using (StreamWriter sw = new StreamWriter(userDataFile, false)) { sw.Write(userEncoded); } } catch (Exception e) { Log4NetHelper.Error("写入用户信息异常:", e); } }
/// <summary> /// 读取 错误评分你记录 /// </summary> /// <param name="user"></param> /// <param name="paperid"></param> /// <param name="attendid"></param> public static void GetErrorScoreSource(string user, string paperid, string attendid) { var filePath = Path.Combine(GlobalUser.AUDIODATAFOLDER, $"{user}_{paperid.Split(new[] { "#" }, StringSplitOptions.RemoveEmptyEntries)[0]}_{attendid}"); string errjson_e = ""; if (!File.Exists(filePath)) { return; } using (StreamReader sr = new StreamReader(filePath)) { while (!sr.EndOfStream) { errjson_e = sr.ReadToEnd(); } } var errjson = Base64Provider.AESDecrypt(errjson_e); Dictionary <string, dynamic> dic = JsonHelper.FromJson <Dictionary <string, dynamic> >(errjson); if (dic.Count > 0) { ErrScoreInfo = new Dictionary <string, ExamScoreNavigateMessage>(); foreach (var key in dic.Keys) { var val = dic[key]; ExamScoreNavigateMessage enm = new ExamScoreNavigateMessage(JsonHelper.FromJson <SubmitRecordModel>(val.AnswerModel.ToString()), val.WaveFileName.ToString(), Enum.Parse(typeof(Framework.Engine.EngineQsType), val.QsType.ToString()), val.EType.ToString(), val.QType.ToString() ); enm.SubmitNum = Int32.Parse(val.SubmitNum.ToString()); ErrScoreInfo.Add(key, enm); } } }
/// <summary> /// 记住密码 /// </summary> /// <param name="username"></param> /// <param name="password"></param> /// <param name="rememberPwdFlag">1:记住;0:不记</param> private void RememberPwd(string username, string password, int rememberPwdFlag = 0) { if (rememberPwdFlag == 1) { var newCookie = new HttpCookie("RetechWing_User"); newCookie.Values["username"] = HttpUtility.UrlEncode(username); newCookie.Values["password"] = Base64Provider.EncodeBase64String(password); //加密后的密码放到COOKIE内 newCookie.Expires = DateTime.Now.AddDays(15); Response.AppendCookie(newCookie); } else { HttpCookie cookie = Request.Cookies["RetechWing_User"]; if (cookie != null) { cookie.Expires = DateTime.Now.AddDays(-2); Response.Cookies.Set(cookie); } } }
/// <summary> /// 更新 异常评分数据 /// </summary> public static void UpdateErrScore(string user, string paperid, string attendid) { var filePath = Path.Combine(GlobalUser.AUDIODATAFOLDER, $"{user}_{paperid.Split(new[] { "#" }, StringSplitOptions.RemoveEmptyEntries)[0]}_{attendid}"); if (GlobalUser.ErrScoreInfo == null || GlobalUser.ErrScoreInfo.Count == 0) { if (File.Exists(filePath)) { File.Delete(filePath); } return; } for (int i = 0; i < GlobalUser.ErrScoreInfo?.Count; i++) { if (GlobalUser.ErrScoreInfo[GlobalUser.ErrScoreInfo.Keys.ToList()[i]].AnswerModel?.exam_attend_id == attendid) { continue; } { GlobalUser.ErrScoreInfo.Remove(GlobalUser.ErrScoreInfo.Keys.ToList()[i]); i--; } } //读写文件 //File var errjson = GlobalUser.ErrScoreInfo.ToJson(); var errjson_e = Base64Provider.AESEncrypt(errjson); //byte[] data = System.Text.Encoding.Default.GetBytes(errjson_e); using (StreamWriter sw = new StreamWriter(filePath, false)) { sw.Write(errjson_e); } }
private void ButtonBase1_OnClick(object sender, RoutedEventArgs e) { string paperJson; using (var jsonContent = new FileStream(@"E:\C#\EnglishExam\LTS\trunk\LTS-PC\bin\LTS-App\Debug\Data/USER_39\simulation_12_2018031611070156160369\simulation_12_2018031611070156160369.json", FileMode.Open)) { int fsLen = (int)jsonContent.Length; byte[] heByte = new byte[fsLen]; int r = jsonContent.Read(heByte, 0, heByte.Length); //string myStr = Encoding.UTF8.GetString(heByte); paperJson = Base64Provider.Decrypt(Encoding.UTF8.GetString(heByte), Base64Provider.KEY, Base64Provider.IV); } // '定义一个中文标点的数组对象 string[] ChineseInterpunction = { "。", ",", ";", ":", "?", "!", "“", "”", "……", "—", "~", "(", ")", "《", "》" }; //'定义一个英文标点的数组对象 string[] EnglishInterpunction = { ".", ",", ";", ":", "?", "!", "\"", "\"", "…", "-", "~", "(", ")", "<", ">" }; //var vvv = Microsoft.VisualBasic.Strings.StrConv("你好!朋友。", Microsoft.VisualBasic.VbStrConv.Narrow, 0); string strSBC = "中华1259test ’。!"; string result = ToDBC(strSBC); Console.WriteLine(result); //Assert.AreEqual(result, "中华1259test'.!"); for (int i = 0; i < ChineseInterpunction.Length; i++) { strSBC = strSBC.Replace(ChineseInterpunction[i], EnglishInterpunction[i]); } Console.WriteLine(strSBC); }
/// <summary> /// 注销 /// </summary> protected void Loginout() { Application.Current.Dispatcher.Invoke(new Action(() => { //var logoutResult = WebProxy(ApiType.UserLogout, GlobalUser.USER.AccessToken);//暂时 不用调用接口 移除token记录 string userFolder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, GlobalUser.DATAFOLDER); string userDataFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, GlobalUser.DATAFOLDER, $"user.dat"); GlobalUser.USER.Token = ""; UserDataModel userDataModel = new UserDataModel { AccessToken = "", UserName = GlobalUser.USER.UserName, Phone = GlobalUser.USER.Mobile, Avatar = GlobalUser.USER.Avatar, Password = GlobalUser.USER.Password, Data = GlobalUser.USER, ClassData = GlobalUser.CLASSINFO, UserZy = GlobalUser.USER.UserZy, StudyCard = GlobalUser.STUDYCARD, UnFirstOpen = GlobalUser.USER.UnFirstOpen, }; GlobalUser.USER = null; string userEncoded = Base64Provider.AESEncrypt(userDataModel.ToJsonItem(), Base64Provider.KEY, Base64Provider.IV); try { if (!Directory.Exists(userFolder)) { Directory.CreateDirectory(userFolder); } if (!File.Exists(userDataFile)) { var file = File.Create(userDataFile); file.Close(); file.Dispose(); } using (StreamWriter sw = new StreamWriter(userDataFile, false)) { sw.Write(userEncoded); } } catch (Exception e) { Log4NetHelper.Error("写入用户信息异常:", e); } DialogHost.CloseAllShow(); { Log_Data log = new Log_Data(); log.log_desc = Log_Type.PC_Logout.ToString(); log.log_text = $"注销:{GlobalUser.USER?.Mobile}"; log.log_device = JsonHelper.ToJson(GlobalUser.MACHINEINFO.GetDevice()); WebApiProxy.GetHtmlRespInfo(log, ApiType.SysLog, null, "Post"); } GlobalUser.MainWin?.Hide(); GlobalUser.MainWin = null; //GlobalUser.MainWin?.Close(); ClearMemory(); GlobalUser.AutoLoggedIn = false; GlobalUser.MainWin = new MainLogin(); GlobalUser.MainWin.DataContext = new MainLoginVM(false); GlobalUser.MainWin.Show(); GlobalUser.MainWin.Focus(); //_metroWindow.Hide(); //_metroWindow.Close(); //_metroWindow = null; })); }