Ejemplo n.º 1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        string culture = CultureInfo.CurrentCulture.Name;

        if (User.Identity.IsAuthenticated == false)
        {
            // Donner le focus au bouton
            // Rappel AnonymousTemplate n'existe que si l'utilisateur n'est pas authentifie !
            Login          LoginControl = ( Login )LoginViewAuthentification.FindControl("LoginControl");
            RolloverButton LoginButton  = ( RolloverButton )LoginControl.FindControl("LoginButton");
            Page.Form.DefaultButton = LoginButton.UniqueID;

            // BUG100920090003 Pour en finir avec toutes ces merdes d'authentification
            TextBox UserName     = ( TextBox )LoginControl.FindControl("UserName");
            TextBox Password     = ( TextBox )LoginControl.FindControl("Password");
            bool    userIsValide = Membership.ValidateUser(UserName.Text, Password.Text);
            if (userIsValide)
            {
                MembershipUser user = Membership.GetUser(UserName.Text);
                if (Membership.GetUser(user.ProviderUserKey).UserName != UserName.Text)
                {
                    // Remettre le "vrai" nom d'utilisateur et User.Identity.Name aura cette valeur
                    UserName.Text = Membership.GetUser(user.ProviderUserKey).UserName;
                }
            }
        }

        if (IsPostBack == false)
        {
            if (User.Identity.IsAuthenticated)
            {
                Label LabelUserInRoles = ( Label )LoginViewAuthentification.FindControl("LabelUserInRoles");
                LabelUserInRoles.Text = "";
                string[] roles = Roles.GetRolesForUser();
                if (roles.Length >= 0)
                {
                    foreach (string r in roles)
                    {
                        LabelUserInRoles.Text += r;
                        if (roles.Length > 1)
                        {
                            LabelUserInRoles.Text += " | ";
                        }
                    }
                }

                //
                // Envoit de l'email de connexion d'un utilisateur a l'admin
                //
                if (Global.SettingsXml.MembreConnexionPrevenir && (User.IsInRole("Administrateur") == false))
                {
                    // On ne sait pas empecher l'utilisateur de mettre des espace dans son nom d'utilisateur
                    // ces espaces se retrouvnet dans User.Identity.Name et donc petage NULL REF
                    // donc ici on met un Trim()
                    MemberInfo     membre = MemberInfo.GetMemberInfo(User.Identity.Name.Trim());
                    MembershipUser user   = Membership.GetUser(User.Identity.Name.Trim());

                    string sujetEmail2 = "Connexion d'un Membre sur le site : " + Global.SettingsXml.SiteNom;
                    string bodyEmail2  = "";

                    bodyEmail2 += "Nom d'utilisateur : " + membre.NomUtilisateur + "<br/>";
                    bodyEmail2 += "Nom : " + membre.Nom + "<br/>";
                    bodyEmail2 += "Prénom : " + membre.Prenom + "<br/>";
                    bodyEmail2 += "Société : " + membre.Societe + "<br/>";
                    bodyEmail2 += "Téléphone : " + membre.Telephone + "<br/>";
                    bodyEmail2 += "Adresse : " + membre.Adresse + "<br/>";
                    bodyEmail2 += "Email : " + user.Email + "<br/>";
                    bodyEmail2 += "Fin abonnement : " + membre.DateFinAbonnement.ToShortDateString() + "<br/>";
                    if (user.IsApproved == false)
                    {
                        bodyEmail2 += "<br>Cet utilisateur n'est pas approuvé.<br/>";
                    }
                    if (user.IsLockedOut)
                    {
                        bodyEmail2 += "<br>Cet utilisateur est vérouillé.<br/>";
                    }
                    bodyEmail2 += "<br/>Accès à l'application :<br/>" + string.Format("<a href=\"{0}\" >{1}</a>", Utils.WebSiteUri, Utils.WebSiteUri) + "<br/>";

                    MemberInfo     admin     = MemberInfo.GetMemberInfo("admin");
                    MembershipUser userAdmin = Membership.GetUser(admin.MembreGUID);

                    Courriel.EnvoyerEmailToAssynchrone(admin.MembreGUID, userAdmin.Email, sujetEmail2, bodyEmail2);
                }

                Response.Redirect("~/Wizard/Accueil.aspx");
            }
        }
    }
Ejemplo n.º 2
0
    protected void LoginButton_Click(object sender, System.EventArgs e)
    {
        // Annulation des variables de Session precedentes
        Session.Clear();

        Login   LoginControl = ( Login )LoginViewAuthentification.FindControl("LoginControl");
        TextBox UserName     = ( TextBox )LoginControl.FindControl("UserName");
        TextBox Password     = ( TextBox )LoginControl.FindControl("Password");
        Literal FailureText  = ( Literal )LoginControl.FindControl("FailureText");

        Label LabelMessageUtilisateur = ( Label )LoginViewAuthentification.FindControl("LabelMessageUtilisateur");

        MembershipUser user = Membership.GetUser(UserName.Text);

        if (user != null)
        {
            if (user.IsApproved == false)
            {
                LabelMessageUtilisateur.Text     = "Votre compte n'est pas approuvé, contactez l'administrateur.";
                LabelMessageUtilisateur.CssClass = "LabelRedStyle";
                LabelMessageUtilisateur.Visible  = true;
                FailureText.Visible = false; // On peut pas changer le texte mais ca ca marche !
            }

            if (user.IsLockedOut)
            {
                LabelMessageUtilisateur.Text     = "Votre compte est vérouillé, contactez l'administrateur.";
                LabelMessageUtilisateur.CssClass = "LabelRedStyle";
                LabelMessageUtilisateur.Visible  = true;
                //FailureText.Visible = false;
            }
        }

        //
        // Cela ne fonctionne pas sur le serveur
        //

        //if ( Global.SettingsXml.MembreConnexionPrevenir && ( User.IsInRole( "Administrateur" ) == false ) )
        //{
        //    // On ne sait pas empecher l'utilisateur de mettre des espace dans son nom d'utilisateur
        //    // ces espaces se retrouvnet dans User.Identity.Name et donc petage NULL REF
        //    // donc ici on met un Trim()
        //    MemberInfo membre = MemberInfo.GetMemberInfo( User.Identity.Name.Trim() );
        //    //MembershipUser user = Membership.GetUser( User.Identity.Name.Trim() );

        //    string sujetEmail2 = "Connexion d'un Membre sur le site : " + Global.SettingsXml.SiteNom;
        //    string bodyEmail2 = "";

        //    bodyEmail2 += "Nom d'utilisateur : " + membre.NomUtilisateur + "<br/>";
        //    bodyEmail2 += "Nom : " + membre.Nom + "<br/>";
        //    bodyEmail2 += "Prénom : " + membre.Prenom + "<br/>";
        //    bodyEmail2 += "Société : " + membre.Societe + "<br/>";
        //    bodyEmail2 += "Téléphone : " + membre.Telephone + "<br/>";
        //    bodyEmail2 += "Adresse : " + membre.Adresse + "<br/>";
        //    bodyEmail2 += "Email : " + user.Email + "<br/>";
        //    if ( user.IsApproved == false )
        //    {
        //        bodyEmail2 += "<br>Cet utilisateur n'est pas approuvé.<br/>";
        //    }
        //    if ( user.IsLockedOut )
        //    {
        //        bodyEmail2 += "<br>Cet utilisateur est vérouillé.<br/>";
        //    }
        //    bodyEmail2 += "<br/>Accès à l'application :<br/>" + string.Format( "<a href=\"{0}\" >{1}</a>", Utils.WebSiteUri, Utils.WebSiteUri ) + "<br/>";

        //    MemberInfo admin = MemberInfo.GetMemberInfo( "admin" );
        //    MembershipUser userAdmin = Membership.GetUser( admin.MembreGUID );

        //    Courriel.EnvoyerEmailToAssynchrone( admin.MembreGUID, userAdmin.Email, sujetEmail2, bodyEmail2 );
        //}
    }