コード例 #1
0
ファイル: Global.asax.cs プロジェクト: Sedzia1990/Photolife
        public void MySeed(PhotolifeEntities db)
        {
            var users = Membership.GetAllUsers();
            foreach (MembershipUser user in users)
                Membership.DeleteUser(user.UserName, true);

            var photos = db.Photos;

            foreach (Photo photo in photos)
                db.Photos.Remove(photo);

            db.SaveChanges();

            List<UserSeedData> uss = new List<UserSeedData>();
            for (int i = 0; i < 10; ++i)
                uss.Add(new UserSeedData { Login = "******"+i, Email = "test"+i+"@gmail.com", FirstName = "imie"+i, LastName = "nazwisko"+i });
            foreach (UserSeedData us in uss)
            {
                us.Email = us.Email.ToLower();
                us.Login = us.Login.ToLower();

                // Attempt to register the user
                MembershipCreateStatus createStatus;
                MembershipUser user = Membership.CreateUser(us.Login, "qwe123", us.Email, null, null, true, null, out createStatus);

                if (Roles.RoleExists("User") == false)
                    Roles.CreateRole("User");
                if (Roles.IsUserInRole(us.Login, "User") == false)
                    Roles.AddUserToRole(us.Login, "User");

                db.SaveChanges();
                UserData ud = new UserData();
                ud.MembershipUserID = (Guid)user.ProviderUserKey;
                ud.FirstName = us.FirstName;
                ud.LastName = us.LastName;

                db.UserDatas.Add(ud);
                db.SaveChanges();
                for (int j = 0; j < 10; j++)
                {
                    Photo photo = new Photo();
                    photo.prefix = "example";
                    photo.description = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed dolor arcu, mollis vel commodo eget, rutrum ut felis. Nullam ultrices erat est, quis euismod lacus. Nunc vulputate, ligula sed feugiat laoreet, nunc nisl faucibus magna, vel commodo eros mauris vitae mi. Morbi at ligula magna, vel porttitor lectus. Pellentesque ultrices nibh ac sem pellentesque sit amet iaculis odio feugiat. Donec id purus nisl. Morbi massa sapien, pulvinar vitae dignissim vitae, ornare et massa. Morbi at diam tortor. Ut ultricies viverra purus, eu cursus sapien semper sed. \n\nAliquam pharetra, tellus at egestas fringilla, leo dui feugiat massa, vitae iaculis ante felis eget leo. Duis non risus dolor. Etiam vitae ante est. Nulla pulvinar, magna non bibendum mattis, nibh ligula porta massa, sit amet rutrum leo ligula et mi. Nulla facilisi. Morbi dapibus, nibh id placerat dapibus, mi lacus tincidunt ante, ut lobortis nisi sem euismod magna. Vestibulum ullamcorper tincidunt venenatis. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In suscipit, nunc tristique tempor rutrum, est augue pulvinar turpis, at tincidunt turpis turpis eget velit. Aliquam erat volutpat. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. In hendrerit porta mollis. ";
                    photo.MembershipUserID = (Guid) user.ProviderUserKey;
                    db.Photos.Add(photo);
                    db.SaveChanges();
                }
            }
        }
コード例 #2
0
        public ActionResult Register(RegisterModel model)
        {
            bool ok = true;
            if (!ModelState.IsValid)
            { ModelState.AddModelError("", "Złe dane"); ok = false; }
            {
                model.Email = model.Email.ToLower();
                model.Login = model.Login.ToLower();
                if (!ReCaptcha.Validate(privateKey: "6LcNtc8SAAAAABTcliRjCCdZyFuMyjy4TmR2S0OZ"))
                { ModelState.AddModelError("", "Błędnie przepisany kod captcha"); ok = false; }
                if (Membership.FindUsersByEmail(model.Email).Count != 0)
                { ModelState.AddModelError("", "Email w użyciu"); ok = false; }
                if (Membership.FindUsersByName(model.Login).Count != 0)
                { ModelState.AddModelError("", "Taki użytkownik już istnieje"); ok = false; }
                if (ok == true)
                {
                    // Attempt to register the user
                    MembershipCreateStatus createStatus;
                    MembershipUser user = Membership.CreateUser(model.Login, model.Password, model.Email, null, null, true, null, out createStatus);

                    if (Roles.RoleExists("User") == false)
                        Roles.CreateRole("User");
                    if (Roles.IsUserInRole(model.Login, "User") == false)
                        Roles.AddUserToRole(model.Login, "User");

                    UserData ud = new UserData();
                    ud.MembershipUserID = (Guid)user.ProviderUserKey;
                    ud.FirstName = "";
                    ud.LastName = "";
                    db.UserDatas.Add(ud);
                    db.SaveChanges();

                    if (createStatus == MembershipCreateStatus.Success)
                    {
                        FormsAuthentication.SetAuthCookie(model.Login, false /* createPersistentCookie */);
                        return RedirectToAction("Index", "Home");
                    }
                    else
                    {
                        ModelState.AddModelError("", ErrorCodeToString(createStatus));
                    }
                }
            }

            // If we got this far, something failed, redisplay form
            return View(model);
        }
コード例 #3
0
        public ActionResult Handshake(string code)
        {
            //after authentication, Facebook will redirect to this controller action with a QueryString parameter called "code" (this is Facebook's Session key)

            //example uri: http://www.examplewebsite.com/facebook/handshake/?code=2.DQUGad7_kFVGqKTeGUqQTQ__.3600.1273809600-1756053625|dil1rmAUjgbViM_GQutw-PEgPIg.

            //this is your Facebook App ID
            string clientId = "252734311486230";

            //this is your Secret Key
            string clientSecret = "daa2835f96c1fd0c3b04c86504096714";

            //we have to request an access token from the following Uri
            string url = "https://graph.facebook.com/oauth/access_token?client_id={0}&redirect_uri={1}&client_secret={2}&code={3}";

            //your redirect uri must be EXACTLY the same Uri that caused the initial authentication handshake
            string redirectUri = "http://*****:*****@') break;
                else Login += c;

                if (Membership.FindUsersByEmail(email).Count != 0)
                {
                    if(Membership.GetUser(email) != null)
                        Login = email;
                    FormsAuthentication.SetAuthCookie(Login, false /* createPersistentCookie */);
                    return RedirectToAction("Index", "Home");
                }
                else
                {
                    RegisterModel model = new RegisterModel();

                    model.Password = model.ConfirmPassword = Membership.GeneratePassword(10, 5);
                    model.Email = email;

                    model.Login = Login;

                    if (ModelState.IsValid)
                    {
                        try
                        {
                            WebMail.SmtpServer = "poczta.o2.pl";
                            WebMail.UserName = "******";
                            WebMail.Password = "******";
                            WebMail.Send(
                                    model.Email,
                                    "Hasło do serwisu Photolife",
                                    "Witaj!<br /><br />" +
                                    "Właśnie stworzyliśmy ci konto na Photolifenet.<br /><br />" +
                                    "Login: "******"<br />" +
                                    "Email: " + model.Email + "<br />" +
                                    "Hasło: " + model.Password + "<br /><br />" +
                                    "Po zalogowaniu się w systemie możesz zmienić swoje hasło.<br /><br />",
                                    "*****@*****.**"
                                );
                        }
                        catch (Exception ex)
                        {
                            System.Diagnostics.Debug.WriteLine(ex.Message.ToString());
                        }

                        // big
                        string remoteImgPathBig = "https://graph.facebook.com/" + me.username + "/picture?type=large";
                        Uri remoteImgPathUriBig = new Uri(remoteImgPathBig);
                        string localPath = Path.Combine(Server.MapPath(Url.Content("~/Content/UserImages/")) + me.username + "big.jpg");
                        WebRequest focia = WebRequest.Create(string.Format(remoteImgPathBig, code));
                        WebResponse odpfocia = focia.GetResponse();
                        String oo = odpfocia.ResponseUri.AbsoluteUri;
                        WebClient webClient = new WebClient();
                        webClient.DownloadFile(oo, localPath);
                        // big

                        //50
                        string remoteImg50Path = "https://graph.facebook.com/" + me.username + "/picture?size=small";
                        string localPath50 = Path.Combine(Server.MapPath(Url.Content("~/Content/UserImages/")) + me.username + "50.jpg");

                        Uri remoteImg50PathUri = new Uri(remoteImg50Path);
                        WebRequest focia50 = WebRequest.Create(string.Format(remoteImg50Path, code));
                        WebResponse odpfocia50 = focia50.GetResponse();
                        String oo50 = odpfocia50.ResponseUri.AbsoluteUri;
                        WebClient webClient50 = new WebClient();
                        webClient.DownloadFile(oo50, localPath50);
                        //50

                        MembershipCreateStatus createStatus;

                        MembershipUser newuser = Membership.CreateUser(model.Login, model.Password, model.Email, null, null, true, null, out createStatus);

                        UserData ud = new UserData();
                        ud.MembershipUserID = (Guid)newuser.ProviderUserKey;
                        if((ud.FirstName = me.first_name) == null)
                            ud.FirstName = "";
                        if ((ud.LastName = me.last_name) == null)
                            ud.LastName = "";
                        db.UserDatas.Add(ud);
                        db.SaveChanges();

                        if (Roles.RoleExists("User") == false)
                            Roles.CreateRole("User");
                        if(Roles.IsUserInRole(newuser.UserName, "User") == false)
                            Roles.AddUserToRole(model.Login, "User");

                        // powiązanie fot z userem
                        //50
                        var entity50 = new PhotolifeEntities();
                        var photo50 = new Photo();
                        photo50.prefix = localPath50;
                        photo50.MembershipUserID = (Guid)newuser.ProviderUserKey;
                      //  photo50.MembershipUser = newuser;
                        entity50.Photos.Add(photo50);
                        // entity50.SaveChanges();
                        // photo50.SaveChanges();

                        //big
                        var entitybig = new PhotolifeEntities();
                        var photobig = new Photo();
                        photobig.prefix = localPath;
                        photobig.MembershipUserID = (Guid)newuser.ProviderUserKey;
                        //photobig.MembershipUser = newuser;
                        entitybig.Photos.Add(photobig);
                        // entitybig.SaveChanges();
                        // photobig.SaveChanges();

                        if (createStatus == MembershipCreateStatus.Success)
                        {
                            FormsAuthentication.SetAuthCookie(model.Login, false /* createPersistentCookie */);
                            return RedirectToAction("FacebookCreateSuccess");
                        }
                    }
                }

               // return View();

            //FormsAuthentication.SetAuthCookie(email, false);

            //return RedirectToAction("Index", "Home");

            return Content(email);
        }
コード例 #4
0
 public ActionResult EditData(UserData model)
 {
     if (ModelState.IsValid)
     {
         Guid userid = (Guid)Membership.GetUser().ProviderUserKey;
         var UserData = db.UserDatas.First(o => o.MembershipUserID == userid);
         UserData.FirstName = model.FirstName;
         UserData.LastName = model.LastName;
         db.Entry(UserData).State = EntityState.Modified;
         db.SaveChanges();
         return RedirectToAction("Index");
     }
     return RedirectToAction("EditData");
 }