Example #1
0
    protected void BT_Valider_Click(object sender, EventArgs e)
    {
        string pass1 = TXT_Pass1.Text;
        string pass2 = TXT_Pass2.Text;

        TXT_Resultat.Text = "";
        if (pass1 != pass2)
        {
            TXT_Resultat.Text = "Le mot de passe doit être saisi 2 fois de manière identique";
            return;
        }
        if (pass1.Length < 8)
        {
            TXT_Resultat.Text = "Le mot de passe doit contenir au moins 8 caractères";
            return;
        }
        if (Regex.IsMatch(pass1, @"^[a-zA-Z]+$"))
        {
            TXT_Resultat.Text = "Le mot de passe doit contenir au moins 1 chiffre";
            return;
        }

        string UserName = HttpContext.Current.User.Identity.Name;

        DotNetNuke.Entities.Users.UserInfo userInfo = DotNetNuke.Entities.Users.UserController.GetUserByName(PortalId, UserName);
        DotNetNuke.Security.Membership.MembershipProvider membershipProvider = DotNetNuke.Security.Membership.MembershipProvider.Instance();

        string oldPassword = DotNetNuke.Entities.Users.UserController.GetPassword(ref userInfo, userInfo.Membership.PasswordAnswer);

        if (DotNetNuke.Entities.Users.UserController.ChangePassword(userInfo, oldPassword, pass1))
        {
            P1.Visible = false;
            P2.Visible = true;
        }
    }
        protected void cmdUpdate_Click(object sender, EventArgs e)
        {
            if (this.userForm.IsValid && (this.User != null))
            {
                if (this.User.UserID == this.PortalSettings.AdministratorId)
                {
                    // Clear the Portal Cache
                    DataCache.ClearPortalCache(this.UserPortalID, true);
                }

                try
                {
                    // Update DisplayName to conform to Format
                    this.UpdateDisplayName();

                    // DNN-5874 Check if unique display name is required
                    if (this.PortalSettings.Registration.RequireUniqueDisplayName)
                    {
                        var usersWithSameDisplayName = (List <UserInfo>)MembershipProvider.Instance().GetUsersBasicSearch(this.PortalId, 0, 2, "DisplayName", true, "DisplayName", this.User.DisplayName);
                        if (usersWithSameDisplayName.Any(user => user.UserID != this.User.UserID))
                        {
                            throw new Exception("Display Name must be unique");
                        }
                    }

                    UserController.UpdateUser(this.UserPortalID, this.User);

                    // make sure username matches possibly changed email address
                    if (this.PortalSettings.Registration.UseEmailAsUserName)
                    {
                        if (this.User.Username.ToLower() != this.User.Email.ToLower())
                        {
                            UserController.ChangeUsername(this.User.UserID, this.User.Email);

                            // after username changed, should redirect to login page to let user authenticate again.
                            var loginUrl = Globals.LoginURL(HttpUtility.UrlEncode(this.Request.RawUrl), false);
                            var spliter  = loginUrl.Contains("?") ? "&" : "?";
                            loginUrl = $"{loginUrl}{spliter}username={this.User.Email}&usernameChanged=true";
                            this.Response.Redirect(loginUrl, true);
                        }
                    }

                    this.Response.Redirect(this.Request.RawUrl);
                }
                catch (Exception exc)
                {
                    Logger.Error(exc);
                    if (exc.Message == "Display Name must be unique")
                    {
                        this.AddModuleMessage("DisplayNameNotUnique", ModuleMessage.ModuleMessageType.RedError, true);
                    }
                    else
                    {
                        this.AddModuleMessage("UserUpdatedError", ModuleMessage.ModuleMessageType.RedError, true);
                    }
                }
            }
        }
Example #3
0
    public string GetPassword(string UserName, string device, string version, string fonction)
    {
        DateTime dt      = DateTime.Now;
        string   comment = "";
        string   code    = "ok";
        //envoyerTest(fonction);
        string retour   = "0";
        string Password = "";

        try
        {
            DotNetNuke.Entities.Users.UserInfo userInfo = DotNetNuke.Entities.Users.UserController.GetUserByName(Globals.GetPortalSettings().PortalId, UserName);
            if (userInfo != null)
            {
                DotNetNuke.Security.Membership.MembershipProvider membershipProvider = DotNetNuke.Security.Membership.MembershipProvider.Instance();

                Password = "" + DotNetNuke.Entities.Users.UserController.GetPassword(ref userInfo, userInfo.Membership.PasswordAnswer);

                if (!string.IsNullOrEmpty(Password))
                {
                    string message = "Récupération de votre mot de passe à partir de l'application mobile du district : www.rotary1730.org<br/>";
                    message += "Votre mot de passe est : <br/>";
                    message += Password;

                    PortalSettings ps = PortalController.GetCurrentPortalSettings();
                    Mail.SendEmail(ps.Email, ps.Email, userInfo.Email, "Récupération de votre mot de passe", message);

                    retour = "1";
                }
            }
        }
        catch (Exception ee)
        {
            code    = "erreur";
            comment = ee.ToString();

            Functions.Error(ee);
            retour = "0";
        }

        string output = JsonConvert.SerializeObject(retour);

        if (retour == "1")
        {
            comment = "Password envoyé à " + UserName;
        }
        else
        {
            if (comment == "")
            {
                comment = "Password NON envoyé à " + UserName;
            }
        }

        DataMapping.InsertLogWS(os, device, version, getIP(), dt, getDuree(dt), fonction, code, comment, UserName);

        return(output);
    }
Example #4
0
        protected void cmdUpdate_Click(object sender, EventArgs e)
        {
            if (userForm.IsValid && (User != null))
            {
                if (User.UserID == PortalSettings.AdministratorId)
                {
                    //Clear the Portal Cache
                    DataCache.ClearPortalCache(UserPortalID, true);
                }
                try
                {
                    //Update DisplayName to conform to Format
                    UpdateDisplayName();

                    //DNN-5874 Check if unique display name is required
                    if (PortalSettings.Registration.RequireUniqueDisplayName)
                    {
                        var usersWithSameDisplayName = (List <UserInfo>)MembershipProvider.Instance().GetUsersBasicSearch(PortalId, 0, 2, "DisplayName", true, "DisplayName", User.DisplayName);
                        if (usersWithSameDisplayName.Any(user => user.UserID != User.UserID))
                        {
                            throw new Exception("Display Name must be unique");
                        }
                    }

                    UserController.UpdateUser(UserPortalID, User);

                    // make sure username matches possibly changed email address
                    if (PortalSettings.Registration.UseEmailAsUserName)
                    {
                        if (User.Username.ToLower() != User.Email.ToLower())
                        {
                            UserController.ChangeUsername(User.UserID, User.Email);

                            //note that this effectively will cause a signout due to the cookie not matching anymore.
                            Response.Cookies.Add(new HttpCookie("USERNAME_CHANGED", User.Email)
                            {
                                Path = (!string.IsNullOrEmpty(Globals.ApplicationPath) ? Globals.ApplicationPath : "/")
                            });
                        }
                    }

                    Response.Redirect(Request.RawUrl);
                }
                catch (Exception exc)
                {
                    Logger.Error(exc);
                    if (exc.Message == "Display Name must be unique")
                    {
                        AddModuleMessage("DisplayNameNotUnique", ModuleMessage.ModuleMessageType.RedError, true);
                    }
                    else
                    {
                        AddModuleMessage("UserUpdatedError", ModuleMessage.ModuleMessageType.RedError, true);
                    }
                }
            }
        }
        public UserBasicDto UpdateUserBasicInfo(UserBasicDto userBasicDto)
        {
            var user     = UserController.Instance.GetUser(PortalSettings.PortalId, userBasicDto.UserId);
            int portalId = PortalSettings.PortalId;

            if (user == null)
            {
                throw new ArgumentException("UserNotExist");
            }

            if (userBasicDto.UserId == PortalSettings.AdministratorId)
            {
                //Clear the Portal Cache
                DataCache.ClearPortalCache(portalId, true);
            }
            if (user.IsSuperUser)
            {
                DataCache.ClearHostCache(true);
            }
            user.DisplayName = userBasicDto.Displayname;
            user.Email       = userBasicDto.Email;

            //Update DisplayName to conform to Format
            if (!string.IsNullOrEmpty(PortalSettings.Registration.DisplayNameFormat))
            {
                user.UpdateDisplayName(PortalSettings.Registration.DisplayNameFormat);
            }
            //either update the username or update the user details

            if (CanUpdateUsername(user) && !PortalSettings.Registration.UseEmailAsUserName)
            {
                UserController.ChangeUsername(user.UserID, userBasicDto.Username);
                user.Username = userBasicDto.Username;
            }

            //DNN-5874 Check if unique display name is required
            if (PortalSettings.Registration.RequireUniqueDisplayName)
            {
                var usersWithSameDisplayName = (List <UserInfo>)MembershipProvider.Instance().GetUsersBasicSearch(portalId, 0, 2, "DisplayName", true, "DisplayName", user.DisplayName);
                if (usersWithSameDisplayName.Any(u => u.UserID != user.UserID))
                {
                    throw new ArgumentException("DisplayNameNotUnique");
                }
            }

            UserController.UpdateUser(portalId, user);

            if (PortalSettings.Registration.UseEmailAsUserName && (user.Username.ToLowerInvariant() != user.Email.ToLowerInvariant()))
            {
                UserController.ChangeUsername(user.UserID, user.Email);
            }
            return
                (UserBasicDto.FromUserInfo(UserController.Instance.GetUser(PortalSettings.PortalId, userBasicDto.UserId)));
        }
Example #6
0
        /// this method works when DotNetNuke.Entities.Users.UserController.GetCurrentUserInfo(); does not
        /// because we only need the portalId to make it work
        /// <returns>null if there is no current user</returns>
        public static UserInfo getCurrentUser(int portalId)
        {
            if (!Thread.CurrentPrincipal.Identity.IsAuthenticated)
            {
                return(null);
            }
            DNNSec.MembershipProvider memProvider = DNNSec.MembershipProvider.Instance();
            UserInfo retVal = memProvider.GetUserByUserName(portalId, Thread.CurrentPrincipal.Identity.Name, false);

            return(retVal);
        }
 // dynamically create provider
 private static void CreateProvider()
 {
     objProvider = (MembershipProvider)Reflection.CreateObject("members");
 }