Exemplo n.º 1
0
        private void ShowUserData(Framework.Security.Business.CustomMembershipUser userData)
        {
            if (userData.UserData.RequestedDate != DateTime.MinValue)
            {
                this.lblDataRequisicao.Text = userData.UserData.RequestedDate.ToString("dd/MM/yyyy HH:mm:ss");
            }
            else
            {
                this.lblDataRequisicao.Text = "";
            }

            if (userData.UserData.ApprovedDate != DateTime.MinValue)
            {
                this.lblDataResposta.Text = userData.UserData.ApprovedDate.ToString("dd/MM/yyyy HH:mm:ss");
            }
            else
            {
                this.lblDataResposta.Text = "";
            }


            this.lblLogin.Text = userData.UserData.UserName;
            this.lnlNome.Text  = userData.UserData.FullName;

            this.chkAprovado.Checked = userData.UserData.IsApproved;
            this.chkAtivado.Checked  = !userData.UserData.IsLockedOut;
        }
        protected void grdUsers_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType != DataControlRowType.DataRow)
            {
                return;
            }

            Framework.Security.Business.CustomMembershipUser user =
                (Framework.Security.Business.CustomMembershipUser)e.Row.DataItem;

            LinkButton lnkConvidar = (LinkButton)e.Row.FindControl("lnkConvidar");

            lnkConvidar.CommandArgument = user.UserName;
        }
Exemplo n.º 3
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);
        }
Exemplo n.º 4
0
        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);
                }
            }
        }