Пример #1
0
        private void GetUsers()
        {
            dt = new DataTable();
            DataRow dr;

            dt.Columns.Add(new DataColumn("IdValue", typeof(Int32)));
            dt.Columns.Add(new DataColumn("UserNameValue", typeof(string)));
            dt.Columns.Add(new DataColumn("LoginValue", typeof(string)));
            dt.Columns.Add(new DataColumn("EmailValue", typeof(string)));
            dt.Columns.Add(new DataColumn("RoleValue", typeof(string)));
            dt.Columns.Add(new DataColumn("UrlValue", typeof(string)));

            MembershipUserCollection allUsers = Membership.GetAllUsers();

            MembershipUser[] arr = new MembershipUser[allUsers.Count];
            allUsers.CopyTo(arr, 0);

            for (int i = 0; i < arr.Length; i++)
            {
                dr    = dt.NewRow();
                dr[0] = i + 1;
                dr[1] = arr[i].UserName;
                dr[2] = arr[i].UserName;
                dr[3] = arr[i].Email;
                dr[4] = Roles.GetRolesForUser(arr[i].UserName).FirstOrDefault();
                //foreach (var rl in Roles.GetRolesForUser(arr[i].UserName))
                //    dr[4] = rl + " ";
                dr[5] = "~/Admin/EditUser?Id=" + arr[i].UserName;
                dt.Rows.Add(dr);
            }
            dv = new DataView(dt);
            UserGrid.DataSource = dv;
            UserGrid.DataBind();
        }
Пример #2
0
        public static MembershipUser[] ToArray(this MembershipUserCollection collection)
        {
            var users = new MembershipUser[collection.Count];

            collection.CopyTo(users, 0);
            return(users);
        }
Пример #3
0
        public virtual void FindUsersByName()
        {
            prov.Log = Console.Out;
            int totalRecords;
            MembershipUserCollection vColl = prov.FindUsersByName("ame", 0, 25, out totalRecords);

            Print(vColl);

            Assert.AreEqual(1, totalRecords);
            Assert.AreEqual(1, vColl.Count);
            MembershipUser[] array = new MembershipUser[vColl.Count];
            vColl.CopyTo(array, 0);
            Assert.AreEqual("*****@*****.**", array[0].Email);
        }
Пример #4
0
        public virtual void GetAllUsers()
        {
            prov.Log = Console.Out;
            int pageIndex = 1;
            int pageSize  = 2;
            int totalRecords;
            MembershipUserCollection vColl = prov.GetAllUsers(pageIndex, pageSize, out totalRecords);

            Print(vColl);
            Assert.AreEqual(1, vColl.Count);
            Assert.AreEqual(3, totalRecords);
            MembershipUser[] array = new MembershipUser[vColl.Count];
            vColl.CopyTo(array, 0);
            Assert.AreEqual("kaletm", array[0].UserName);
        }
Пример #5
0
        private void loadUsers()
        {
            MembershipUserCollection users = Membership.GetAllUsers();

            MembershipUser[] valuesUser = new MembershipUser[users.Count];

            users.CopyTo(valuesUser, 0);
            dgvUsers.DataSource = valuesUser;

            IEnumerator enumerate = users.GetEnumerator();

            while (enumerate.MoveNext())
            {
                object obj = enumerate.Current;
                lstUsers.Items.Add(obj);
            }
        }
Пример #6
0
        private void btnFindUser_Click(object sender, EventArgs e)
        {
            try
            {
                MembershipUserCollection users      = userProvider.FindUsers(txtUserFind.Text);
                MembershipUser[]         valuesUser = new MembershipUser[users.Count];

                users.CopyTo(valuesUser, 0);
                dgvUsers.DataSource = valuesUser;
            }
            catch (ArgumentException ex)
            {
                MessageBox.Show("Failed to find user, " + ex.Message, "Find user", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            catch (SqlException ex)
            {
                MessageBox.Show("Failed to find user, " + ex.Message, "Find user", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Failed to find user, " + ex.Message, "Find user", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
Пример #7
0
        protected void Page_Load(object sender, EventArgs e)
        {
            faces.Visible = _showFaces;

            string fbRedirect = "http://" + Request.Url.Host + "/Login.aspx?step=fb";


            //determine returl url
            string returnFromLoginUrl = "";

            if (Request["fbreturn"] != null)
            {
                returnFromLoginUrl = Request["fbreturn"];
            }
            else if (Request["return"] != null)
            {
                returnFromLoginUrl = Request["return"];
            }
            else
            {
                returnFromLoginUrl = Utils.GetLoginReturnUrl(HttpContext.Current);
            }

            if (returnFromLoginUrl != "")
            {
                fbRedirect = fbRedirect + "&fbreturn=" + Server.UrlEncode(returnFromLoginUrl);
                //tilføj return url, så den huskes også via ture over facebook.
                //fbLink.NavigateUrl = "https://www.facebook.com/dialog/oauth?client_id=" + Facebook.AppID + "&redirect_uri=" + Server.UrlEncode( + "&response_type=code&scope=email";
            }


            fbLink.NavigateUrl = "https://www.facebook.com/dialog/oauth?client_id=" + Facebook.AppID + "&redirect_uri=" + Server.UrlEncode(fbRedirect) + "&response_type=code&scope=email";
            //Response.Write(fbLink.NavigateUrl);

            string accessToken = null;

            if ((Request["code"] != null) && (Request["step"] == "fb"))
            {
                accessToken = Facebook.GetAccessToken(Request["code"], fbRedirect);
            }

            if (accessToken != null)
            {
                //gem cookie
                HttpCookie aTokenCookie = new HttpCookie(Facebook.CookieID, accessToken);
                aTokenCookie.Expires = DateTime.Now.AddMonths(1);
                Response.SetCookie(aTokenCookie);

                long facebookUID = Facebook.GetFacebookUserId(accessToken);
                if (facebookUID == 0)
                {
                    Response.Write("Could not determine facebook UID from code: " + Request["code"] + "\n with token: " + accessToken);
                }

                if (facebookUID != 0)
                {
                    object         YafUserID = Facebook.GetYafUser(facebookUID);
                    MembershipUser user      = null;
                    if (YafUserID != null)
                    {
                        //log eksisterende fb bruger ind
                        user = Membership.GetUser(YafUserID);
                        DoLogin(user, false);
                    }
                    else
                    {
                        user = Membership.GetUser();
                        if (user != null)
                        {
                            //Der er en bruger logget ind, opret facebook forbindelse til den.
                            Facebook.ConnectProfileToFB(user.ProviderUserKey.ToString(), facebookUID);
                            DoLogin(user, false);
                        }
                        else
                        {
                            Facebook.FbUserInfo fbUserInfo = Facebook.GetUserInfo(accessToken);
                            if (fbUserInfo == null)
                            {
                                Response.Write("Could not get necessary user information from Facebook.");
                                return;
                            }

                            MembershipUserCollection members    = Membership.FindUsersByEmail(fbUserInfo.email);
                            MembershipUser[]         membersArr = new MembershipUser[members.Count];
                            members.CopyTo(membersArr, 0);
                            if (members.Count > 0)
                            {
                                //forbind eksisterende bruger til facebook profil
                                user = membersArr[0];
                                Facebook.ConnectProfileToFB(user.ProviderUserKey.ToString(), facebookUID);

                                //log ind
                                DoLogin(user, false);
                            }
                            else
                            {
                                //opret ny bruger, og lav fb forbindelse
                                try
                                {
                                    user = Facebook.CreateNewFbUser(fbUserInfo);
                                }
                                catch (MembershipCreateUserException MemberShipException)
                                {
                                    Response.Write(Registration.GetErrorMessage(MemberShipException.StatusCode, fbUserInfo.email));
                                    return;
                                }

                                DoLogin(user, true);
                            }
                        }
                    }
                }
            }
        }