protected void Page_Load(object sender, EventArgs e)
        {
            if (this.ctlUserInfo.UserData == null && base.UserName != null)
            {
                Framework.Security.Business.UserDataService business = new Framework.Security.Business.UserDataService(base.UserName);

                business.UserName = base.UserName;

                Framework.Security.Model.UserData user = business.LoadUser();

                this.ctlUserInfo.UserData = user;
            }
        }
        protected void PasswordRecoveryUser_SendingMail(object sender, MailMessageEventArgs e)
        {
            e.Cancel = true;

            //Buscando os dados do usuário
            Framework.Security.Business.UserDataService user =
                new Framework.Security.Business.UserDataService(UserBasePage.CurrentUserName);
            user.UserName = this.PasswordRecoveryUser.UserName;
            Framework.Security.Model.UserData userModel = user.LoadUser();


            Framework.Security.Util.Mail.Send(e.Message.Body, userModel, Framework.Security.Util.Mail.Template.ResetPassword);
        }
        protected void chkIsApproved_CheckedChanged(object sender, EventArgs e)
        {
            //Buscando em todos os objetos
            for (int c = 0; c < this.grdUsers.Rows.Count; c++)
            {
                CheckBox chkIsApproved = (CheckBox)this.grdUsers.Rows[c].FindControl("chkIsApproved");
                Label    lblUsername   = (Label)this.grdUsers.Rows[c].FindControl("lblUsername");


                //Criando o modelo de dados a ser manipulado
                Framework.Security.Business.UserDataService userDataService = new Framework.Security.Business.UserDataService(this.UserName);
                userDataService.UserName = lblUsername.Text;


                //Se encontrou o objeto
                if (chkIsApproved == sender)
                {
                    //Se está ativando o item
                    if (((CheckBox)sender).Checked)
                    {
                        //Realizando o load do usuário para buscar as informações necessárias para aprovar o usuário
                        Framework.Security.Model.UserData userData = userDataService.LoadUser();
                        userDataService = new Framework.Security.Business.UserDataService(base.UserName, userData);

                        if (!userDataService.ApproveUser())
                        {
                            chkIsApproved.Checked = false;
                        }
                    }
                    //Se está desativando o item
                    else
                    {
                        if (!userDataService.DesapproveUser())
                        {
                            chkIsApproved.Checked = true;
                        }
                    } //endif ativando o item
                }     //endif objeto encontrado

                return;
            }//end for items
        }
Exemple #4
0
        private bool ApproveUser(string login, string key)
        {
            bool isApproved = false;


            Framework.Security.Business.UserDataService userService =
                new Framework.Security.Business.UserDataService(HttpContext.Current.User.Identity.Name);
            userService.UserName    = login;
            userService.ActivateKey = key;


            //Aprovando o usuário
            isApproved = userService.ApproveUser();


            //Buscando dados do usuário
            Framework.Security.Business.CustomMembershipUser customUser =
                (Framework.Security.Business.CustomMembershipUser)Membership.Provider.GetUser(login, false);


            //Se o usuário não foi encontrado
            if (customUser == null)
            {
                base.ShowErrors("Usuário não encontrado na base de dados.");
                this.MultiViewConfirm.ActiveViewIndex = 0;

                return(false);
            }
            //Se o usuário foi encontrado
            else
            {
                //inserindo as roles do usuário que está sendo inserido
                //string [] roles = new string[4];
                //roles[0] = "Apostador";
                //roles[1] = "Convidado";
                //roles[2] = "Visitante de Bolão";
                //roles[3] = "Visitante de Campeonato";

                string rolesToAdd = ConfigurationManager.AppSettings["RolesToAddAtConfirmation"];


                if (rolesToAdd != null)
                {
                    string[] roles = rolesToAdd.Split(new char[] { '|' });

                    System.Web.Security.Roles.AddUserToRoles(login, roles);
                }



                //Inserindo os usuários na lista de itens no momento da confirmação do login
                string listToAdd = ConfigurationManager.AppSettings["BolaoListToAddAtConfirmation"];

                if (!string.IsNullOrEmpty(listToAdd))
                {
                    string[] items = listToAdd.Split(new char [] { '|' });

                    foreach (string entry in items)
                    {
                        Business.Boloes.Support.Bolao bolao = new BolaoNet.Business.Boloes.Support.Bolao(login, entry);
                        bolao.Load();

                        if ((!bolao.ApostasApenasAntes) || (bolao.ApostasApenasAntes && !bolao.IsIniciado))
                        {
                            bolao.InsertMembro(new Framework.Security.Model.UserData(login));
                        }
                    }
                }//endif items a serem inseridos



                this.MultiViewConfirm.ActiveViewIndex = 1;

                //Mostrando dados do usuário
                ShowUserData(customUser);

                this.lblChave.Text = userService.ActivateKey;

                //Se não foi aprovado
                if (!isApproved)
                {
                    base.ShowErrors("Chave do usuário inválido para aprovação.");
                    this.lblStatus.Text = "Chave do usuário inválido para aprovação.";
                }
                //Se foi aprovado
                else
                {
                    base.ShowMessages("Usuário aprovado.");
                    this.lblStatus.Text = "Usuário aprovado.";

                    this.lnkTentarNovamente.Visible = false;

                    Framework.Security.Business.UserDataService userEntry =
                        new Framework.Security.Business.UserDataService("", customUser.UserData);



                    ////Salvando os dados do profile do usuário
                    //Business.Profile.CustomProfile profile = Business.Profile.CustomProfile.GetProfile();
                    //profile.NomeCampeonato = "";
                    //profile.NomeBolao = "";
                    //profile.Save();


                    Framework.Logging.Logger.LogManager.WriteInformation(null, this, "Usuário " + customUser.UserData.UserName + " aprovado.", null);


                    Framework.Security.Util.Mail.Send(userEntry.LoadUser(), Framework.Security.Util.Mail.Template.Welcome);
                } //endif se foi aprovado
            }     //endif usuário encontrado



            return(true);
        }
        protected void btnSalvar_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                Framework.Security.Model.UserData user = LoadUserDataFromPage();


                MembershipCreateStatus status = MembershipCreateStatus.ProviderError;

                //Criando o usuário
                MembershipUser memberUser = Membership.Provider.CreateUser(
                    user.UserName,
                    user.Password,
                    user.Email,
                    user.PasswordQuestion,
                    user.PasswordAnswer,
                    user.IsApproved,
                    user.UserName,
                    out status);

                switch (status)
                {
                case MembershipCreateStatus.DuplicateEmail:
                    base.ShowErrors("O email especificado já existe cadastrado para um usuário, por favor, entre com outro email.");
                    //((RegularExpressionValidator)this.dtvNewUser.FindControl("revEmail")).IsValid = false;
                    return;

                case MembershipCreateStatus.DuplicateProviderUserKey:
                    base.ShowErrors("O usuário já existe no banco de dados, por favor, entre com outro.");
                    return;;

                case MembershipCreateStatus.DuplicateUserName:
                    base.ShowErrors("O login do usuário já existe no banco de dados, por favor, entre com outro login.");
                    //((IValidator)this.dtvNewUser.FindControl("rfvLogin")).IsValid = false;
                    return;;

                case MembershipCreateStatus.InvalidAnswer:
                    base.ShowErrors("Resposta inválida, por favor entre com uma resposta que atenda aos requisitos de segurança.");
                    return;

                case MembershipCreateStatus.InvalidEmail:
                    base.ShowErrors("Formato de email incorreto.");
                    return;

                case MembershipCreateStatus.InvalidPassword:
                    base.ShowErrors("Senha inválida, por favor entre com uma senha que atenda aos requisitos de segurança.");
                    return;

                case MembershipCreateStatus.InvalidProviderUserKey:
                    base.ShowErrors("Chave do usuário inválida.");
                    return;

                case MembershipCreateStatus.InvalidQuestion:
                    base.ShowErrors("Pergunta inválida, por favor entre com uma pergunta que atenda aos requisitos de segurança.");
                    return;

                case MembershipCreateStatus.InvalidUserName:
                    base.ShowErrors("Usuário inválido.");
                    return;

                case MembershipCreateStatus.ProviderError:
                    base.ShowErrors("Erro de provider.");
                    return;

                case MembershipCreateStatus.UserRejected:
                    base.ShowErrors("Usuário rejeitado.");
                    return;

                case MembershipCreateStatus.Success:
                    break;
                }



                Framework.Security.Business.CustomMembershipUser customUser =
                    (Framework.Security.Business.CustomMembershipUser)memberUser;

                customUser.UserData.Copy(user);

                Membership.UpdateUser(customUser);



                Framework.Security.Business.UserDataService userModel =
                    new Framework.Security.Business.UserDataService("", user);
                Framework.Security.Model.UserData userDataItem = userModel.LoadUser();



                try
                {
                    if (Framework.Security.Util.Mail.Send(userDataItem, Framework.Security.Util.Mail.Template.Activation))
                    {
                        this.MultiViewNewLogin.ActiveViewIndex = 1;



                        Framework.Logging.Logger.LogManager.WriteInformation(null, this, "Usuário " + userModel.UserName + " foi criado.", null);
                    }
                    else
                    {
                        this.MultiViewNewLogin.ActiveViewIndex = 2;

                        base.ShowErrors("Não foi possível enviar o email para o usuário criado.");

                        //Excluindo o usuário pois o mesmo não foi possível enviar o email
                        Membership.DeleteUser(user.UserName);
                    }
                }
                catch (Exception ex)
                {
                    this.lblErrorSendMail.Text             = "Erro: " + ex.Message;
                    this.MultiViewNewLogin.ActiveViewIndex = 2;

                    base.ShowErrors("Não foi possível enviar o email para o usuário criado.");

                    //Excluindo o usuário pois o mesmo não foi possível enviar o email
                    Membership.DeleteUser(user.UserName);
                }
            }
        }