FicheCollege.aspx.cs 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. using System;
  2. using System.Data;
  3. using System.Data.OleDb;
  4. using System.Configuration;
  5. using System.Collections;
  6. using System.IO;
  7. using System.Web;
  8. using System.Web.Security;
  9. using System.Web.UI;
  10. using System.Web.UI.WebControls;
  11. using System.Web.UI.WebControls.WebParts;
  12. using System.Web.UI.HtmlControls;
  13. using System.Xml;
  14. using CG67.FicheCollege.Service;
  15. using CG67.FicheCollege.Domaine;
  16. using System.Collections.Generic;
  17. using System.DirectoryServices;
  18. using System.Linq;
  19. //using System.DirectoryServices.AccountManagement;
  20. namespace CG67.FicheCollege
  21. {
  22. public partial class FicheCollege : System.Web.UI.Page
  23. {
  24. public string user;
  25. protected void Page_Load(object sender, EventArgs e)
  26. {
  27. //Intialisation des paramètres
  28. //l'année en cours est déclarée dans le fichier de configuration
  29. int annee = int.Parse(ConfigurationManager.AppSettings["AnneeEnCours"]);
  30. HttpContext.Current.Session["Annee"] = annee;
  31. HttpContext.Current.Session["AnneeMoins1"] = annee - 1;
  32. HttpContext.Current.Session["RNE"] = Request["RNE"];
  33. string domain = "DC=cg67,DC=fr";
  34. string sUser = ConfigurationManager.AppSettings["USER-LDAP"];
  35. string sMdp = ConfigurationManager.AppSettings["MDP-LDAP"];
  36. using (var rootEntry = new DirectoryEntry("LDAP://CG67/" + domain, null, null, AuthenticationTypes.Secure))
  37. {
  38. // using (var directorySearcher = new DirectorySearcher(rootEntry, String.Format("(sAMAccountName={0})", HttpContext.Current.User.Identity.Name.Replace("CG67\\",""))))
  39. using (var directorySearcher = new DirectorySearcher(rootEntry, String.Format("(sAMAccountName={0})", "frederic.bierry")))
  40. {
  41. var searchResult = directorySearcher.FindOne();
  42. if (searchResult != null)
  43. {
  44. using (var userEntry = searchResult.GetDirectoryEntry())
  45. {
  46. string cnUser = userEntry.Properties["distinguishedName"].Value.ToString();
  47. List<string> Groups = new List<string>();
  48. Groups = cnUser.Split(new[] {"," } , StringSplitOptions.None).ToList();
  49. Response.Write(cnUser);
  50. var elu = Groups.Where(x => x.Contains("OU=P2-ELUS")).FirstOrDefault();
  51. if (!string.IsNullOrEmpty(elu)) user= elu.Replace("OU=","");
  52. var mission = Groups.Where(x => x.Contains("OU=E-")).FirstOrDefault();
  53. if (!string.IsNullOrEmpty(mission)) user = mission.Replace("OU=","");
  54. //cas autre a faire
  55. }
  56. }
  57. }
  58. }
  59. //Traitement
  60. XmlDocument entete = new XmlDocument();
  61. entete.Load(Server.MapPath(@"~/xml/entete.xml"));
  62. XmlNode xmlFicheCollege = ServiceFiche.GetFicheCollege(Session["RNE"].ToString(), int.Parse(Session["annee"].ToString()));
  63. this.Title = xmlFicheCollege.SelectSingleNode("college/Etablissement/NomCollegePourPresentation").InnerText;
  64. xmlFicheCollege.SelectSingleNode("college").InnerXml += entete.DocumentElement.OuterXml;
  65. this.Xml1.DocumentContent = xmlFicheCollege.OuterXml;
  66. try
  67. {
  68. this.DataBind();
  69. }
  70. catch (NullReferenceException nre)
  71. {
  72. Console.WriteLine("Erreur de pointeur : null", nre.Message);
  73. }
  74. }
  75. }
  76. }