Exemplo n.º 1
0
        private MembershipUser CreateNewAccount(string accountName, string password, string email, string[] roles, ref string msg)
        {
            bool           rslt    = true;
            MembershipUser newUser = null;

            // try creating a new account for this user
            try
            {
                MembershipCreateStatus status;
                newUser = Membership.CreateUser(accountName, password, email, null, null, true, out status);
                if (newUser == null)
                {
                    rslt = false;
                    msg  = string.Format("Unable to create new user. " + GetCreateNewUserError(status));
                }

                if (rslt)
                {
                    ServerUser.ID = (Guid)newUser.ProviderUserKey;
                    AccountProfile prof = new AccountProfile(newUser.UserName);
                    prof.UserRoles = roles;

                    if (roles == null || roles.Length < 1 || Array.IndexOf(roles, "ActiveUser") == -1)
                    {
                        string[] rolesEx = null;
                        if (roles != null)
                        {
                            rolesEx = new string[roles.Length + 1];
                            Array.Copy(roles, rolesEx, roles.Length);
                        }
                        else
                        {
                            rolesEx = new string[1];
                        }
                        rolesEx[rolesEx.Length - 1] = "ActiveUser";
                        prof.UserRoles = rolesEx;
                    }

                    prof.Save(MyServer.RequireAuthentication);
                }

                //---------------
            }
            catch (Exception exc)
            {
                rslt = false;
                msg  = "Unknow error creating user.";
            }

            return(newUser);
        }
        private MembershipUser CreateNewAccount(string accountName, string password, string email, string[] roles, ref string msg)
        {
            bool rslt = true;
            MembershipUser newUser = null;
            // try creating a new account for this user
            try
            {
                MembershipCreateStatus status;
                newUser = Membership.CreateUser(accountName, password, email, null, null, true, out status);
                if (newUser == null)
                {
                    rslt = false;
                    msg = string.Format("Unable to create new user. " + GetCreateNewUserError(status));
                }

                if (rslt)
                {
                    ServerUser.ID = (Guid)newUser.ProviderUserKey;
                    AccountProfile prof = new AccountProfile(newUser.UserName);
                    prof.UserRoles = roles;

                    if (roles == null || roles.Length < 1 || Array.IndexOf(roles, "ActiveUser") == -1)
                    {
                        string[] rolesEx = null;
                        if (roles != null)
                        {
                            rolesEx = new string[roles.Length + 1];
                            Array.Copy(roles, rolesEx, roles.Length);
                        }
                        else
                        {
                            rolesEx = new string[1];
                        }
                        rolesEx[rolesEx.Length - 1] = "ActiveUser";
                        prof.UserRoles = rolesEx;
                    }

                    prof.Save(MyServer.RequireAuthentication);
                }

                //---------------
            }
            catch (Exception exc)
            {
                rslt = false;
                msg = "Unknow error creating user.";
            }

            return newUser;
        }