Ejemplo n.º 1
0
 public void SignOut(bool isGuest)
 {
     if (isGuest)
     {
         var currentGuest = new GuestPrincipal(Request.ServerVariables["REMOTE_ADDR"]);
         currentGuest.Guest.Archive();
     }
     FormsAuthentication.SignOut();
     Session.Abandon();
 }
Ejemplo n.º 2
0
        public HttpResponseMessage Get(int area)
        {
            try
            {
                var areaType = (AreaType)area;
                var response = new GadgetModel();

                var gadgets = new GadgetCollection();

                if (User != null && User.Identity.IsAuthenticated)
                {
                    var currentUser = new UserPrincipal(User.Identity.Name, _accountRepository);

                    //response.col1.Add("gadget.userinfo");

                    gadgets.GetGadgets(currentUser.User.Roles, areaType, _securityRepository, _configRepository).ForEach((g) =>
                    {
                        if (g.DefaultColumn == 1)
                        {
                            response.col1.Add(g.View.ToLower());
                        }
                        else
                        {
                            response.col2.Add(g.View.ToLower());
                        }
                    });
                }
                else
                {
                    var guest = new GuestPrincipal(GetClientIp(Request));

                    //if (!guest.Guest.IsNew)
                    //{
                    //    response.col1.Add("gadget.userinfo");
                    //}
                    gadgets.GetGadgets(guest.Guest.Roles, areaType, _securityRepository, _configRepository).ForEach((g) =>
                    {
                        if (g.DefaultColumn == 1)
                        {
                            response.col1.Add(g.View.ToLower());
                        }
                        else
                        {
                            response.col2.Add(g.View.ToLower());
                        }
                    });
                }

                return(Request.CreateResponse(HttpStatusCode.OK, response));
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
Ejemplo n.º 3
0
        public HttpResponseMessage Get(string type)
        {
            try
            {
                switch (type.ToLower())
                {
                case "guest":
                    var currentGuest = new GuestPrincipal(HttpContext.Current.Request.UserHostAddress);
                    return(Request.CreateResponse(HttpStatusCode.OK, currentGuest.Guest.GetJSONModel()));

                default:
                    return(Request.CreateErrorResponse(HttpStatusCode.NotImplemented, "Unknown User Type"));
                }
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
Ejemplo n.º 4
0
        public HttpResponseMessage Put(CommentModel model)
        {
            try
            {
                model.Date = DateTime.Now;
                if (User != null && User.Identity.IsAuthenticated)
                {
                    var currentUser = new UserPrincipal(User.Identity.Name, _accountRepository);
                    model.Save(currentUser.User);
                }
                else
                {
                    var currentGuest = new GuestPrincipal(HttpContext.Current.Request.UserHostAddress);

                    if (currentGuest.Guest.IsNew)
                    {
                        if (!string.IsNullOrWhiteSpace(model.Website) && !model.Website.ToLower().Contains("http://"))
                        {
                            var website = model.Website.ToLower().Replace("http://", "").Replace("http:/", "").Replace("http:", "");
                            model.Website = "http://" + website;
                        }
                        var guest = currentGuest.Guest;
                        guest.Date    = DateTime.Now;
                        guest.Email   = model.Email;
                        guest.Name    = model.Name;
                        guest.Website = model.Website;
                        guest.Save();

                        currentGuest = new GuestPrincipal(guest.IpAddress);
                    }

                    model.Save(guest: currentGuest.Guest);
                }

                return(Request.CreateResponse(HttpStatusCode.OK, model));
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
Ejemplo n.º 5
0
        public JsonResult CheckCaptcha(string challange, string response)
        {
            if (HttpContext.User != null && HttpContext.User.Identity.IsAuthenticated)
            {
                return(Json(new CaptchaResponse {
                    Passed = true
                }));
            }

            var currentGuest = new GuestPrincipal(Request.ServerVariables["REMOTE_ADDR"]);

            if (!currentGuest.Guest.IsNew)
            {
                return(Json(new CaptchaResponse {
                    Passed = true
                }));
            }

            var wrequest = (HttpWebRequest)WebRequest.Create("http://www.google.com/recaptcha/api/verify");

            wrequest.Method = "POST";

            var encoding = new ASCIIEncoding();

            var postData = "privatekey=6LcMWsUSAAAAAFjqSKfKVHtaBLBQD_uDCxBXNJGN";

            postData += "&remoteip=" + Request.ServerVariables["REMOTE_ADDR"];
            postData += "&challenge=" + challange;
            postData += "&response=" + response;

            var data = encoding.GetBytes(postData);

            wrequest.ContentType   = "application/x-www-form-urlencoded";
            wrequest.ContentLength = data.Length;

            var stream = wrequest.GetRequestStream();

            // Send the data.
            stream.Write(data, 0, data.Length);
            stream.Close();

            var wresponse = (HttpWebResponse)wrequest.GetResponse();
            var rStream   = wresponse.GetResponseStream();

            if (rStream == null)
            {
                return(Json(false));
            }

            var s = string.Empty;

            using (var reader = new StreamReader(rStream, Encoding.Default))
            {
                s = reader.ReadToEnd();
            }

            var r = s.Split('\n');

            var capRsp = new CaptchaResponse
            {
                Passed  = Convert.ToBoolean(r[0]),
                Message = r[1]
            };

            return(Json(capRsp));
        }