public void SignOut(bool isGuest) { if (isGuest) { var currentGuest = new GuestPrincipal(Request.ServerVariables["REMOTE_ADDR"]); currentGuest.Guest.Archive(); } FormsAuthentication.SignOut(); Session.Abandon(); }
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)); } }
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)); } }
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)); } }
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)); }