/// <summary> /// Initialise les valeurs des composants à l'ouverture de l'application /// </summary> public void Initialisation() { //On va chercher toutes les courses dans la bdd ListeCourses = Cr.GetAll(); foreach (Resultat r in Rr.GetAll()) { if (r.Course == course) { course.ListeResultat.Add(r); } } //On remplit le menu déroulant foreach (Course cours in ListeCourses) { SelectionCourse.Items.Add("Course " + cours.Id); } //On permet d'importer des participants dans une course si on a une course de disponible if (SelectionCourse.Items.Count != 0) { SelectionCourse.SelectedIndex = 0; ChargerCourse(0); ImporterParticipant.Enabled = true; afficherParticipants.Enabled = true; } }
public Rr <UserToken> Login([FromBody] LoginUser lur) { Rr <UserToken> rr = new Rr <UserToken>(); rr.Code = 1; rr.Msg = "登录成功"; try { //验证用户名密码 if (lur.UserPwd != "jzh") { throw new Exception("用户名或密码错误"); } //获取jwt token配置 var tokenConfig = _configuration.GetSection("JwtToken").Get <JwtToken>(); //创建Claim 标准的几个声明 //iss(issuer):签发人 //sub(subject):主题 //aud(audience):受众 接受者的Url //exp(expiration time):过期时间 这个过期时间必须要大于签发时间 //nbf(Not Before):生效时间 定义在什么时间之前,该jwt都是不可用的. //iat(Issued At):签发时间 //jti(JWT ID):编号 jwt的唯一身份标识,主要用来作为一次性token,从而回避重放攻击。 var authClaim = new[] { new Claim(JwtRegisteredClaimNames.Sub, lur.UserCode), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()) }; IdentityModelEventSource.ShowPII = true; //签名密钥 var authSignKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(tokenConfig.Secretkey)); var token = new JwtSecurityToken( issuer: tokenConfig.Issuer, //签发者 audience: tokenConfig.Audience, //受众 接受者的Url expires: DateTime.Now.AddSeconds(tokenConfig.ValidTimeSpan), //过期时间 claims: authClaim, //标准声明 signingCredentials: new SigningCredentials(authSignKey, SecurityAlgorithms.HmacSha256) //加密 ); UserToken urToken = new UserToken() { Token = new JwtSecurityTokenHandler().WriteToken(token), Expiration = token.ValidTo.ToLocalTime() }; rr.Data = urToken; return(rr); } catch (Exception ex) { rr.Code = 0; rr.Msg = ex.Message; } return(rr); }
public void Reload() { DataObjectList <DataObject> list = DataObjects.LoadByReflection(QuickParameters); Rr.DataSource = list; Rr.DataBind(); HasContent = list.ItemTotal > 0; }
public Rr <string> Hello(Rp <string> rp) { Rr <string> rr = new Rr <string>(); rr.Code = 1; rr.Msg = "Hello"; rr.Data = "hahah"; _logger.LogInformation("hhahahh完成了"); return(rr); }
/// <summary> /// Lis un fichier CSV et retourne son contenu sous forme de liste suivant le séparateur choisi /// </summary> /// <typeparam name="T"></typeparam> /// <param name="chemin"></param> /// <returns></returns> public void lireCSV(string chemin, int choix) { ImportationReussie.Visible = true; using (var tr = new StreamReader(chemin)) { var csv = new CsvReader(tr); csv.Configuration.Delimiter = ","; csv.Configuration.HasHeaderRecord = true; if (choix == 1) //On veut importer des résultats { try { csv.Configuration.RegisterClassMap <CSVResultats>(); var resultat = csv.GetRecords <Resultat>().ToList(); // Mise à jour des résultats foreach (Resultat res in resultat) { course.ListeResultat.Add(res); } course.ClasserResultats(); //Enregistrement des résultats dans la bdd foreach (Resultat res in resultat) { Rr.Save(res); } ImportationReussie.Text = "Importation Réussie !"; BoutonAModifier.Enabled = true; } catch (Exception e) { ImportationReussie.Text = "Problème d'importation, réessayer"; } } if (choix == 2) //On veut importer des participants { try { csv.Configuration.RegisterClassMap <CSVParticipant>(); var resultat = csv.GetRecords <Participant>().ToList(); // Mise à jour des participants foreach (Participant participe in resultat) { participe.NbDossard += compteur; course.ListeParticipants.Add(participe); compteur++; } ImportationReussie.Text = "Importation Réussie !"; BoutonAModifier.Enabled = true; // Save Course cr.Save(course); } catch (Exception e) { ImportationReussie.Text = "Problème d'importation, réessayer"; } } } }