public void ProcessRequest(HttpContext context) { string user = context.User.Identity.Name; bool isAuthenticated = true; var request = context.Request; var response = context.Response; string devRoot = DeveloperWebRootFolder; WebSupport.InitializeContextStorage(context.Request); if (isAuthenticated == false) { return; } try { if (request.Path.StartsWith(AuthDeveloperPrefix)) { HandleDeveloperRequest(context); } } finally { //InformationContext.ProcessAndClearCurrent(); } }
public void ProcessRequest(HttpContext context) { WebSupport.InitializeContextStorage(context.Request); bool isSocket = false; if (context.IsWebSocketRequest) { isSocket = true; } if (context.IsWebSocketRequest) { context.AcceptWebSocketRequest(HandleWebSocket); } else { context.Response.StatusCode = 400; } /* * WebSupport.InitializeContextStorage(context.Request); * try * { * if (request.Path.StartsWith(AuthEmailValidation)) * { * HandleEmailValidation(context); * } * } finally * { * InformationContext.ProcessAndClearCurrent(); * }*/ }
public static void SetAuthenticationCookie(HttpResponse response, string validUserName) { WebSupport.InitializeContextStorage(HttpContext.Current.Request); string authString = EncryptionSupport.EncryptStringToBase64(validUserName); if (response.Cookies[AuthCookieName] != null) { response.Cookies.Remove(AuthCookieName); } HttpCookie cookie = new HttpCookie(AuthCookieName, authString); cookie.HttpOnly = false; HttpContext.Current.Response.Cookies.Add(cookie); }
public void ProcessRequest(HttpContext context) { HttpRequest request = context.Request; WebSupport.InitializeContextStorage(context.Request); try { if (request.Path.StartsWith(AuthEmailValidation)) { HandleEmailValidation(context); } } finally { InformationContext.ProcessAndClearCurrent(); } }
private void HandlePersonalRequest(HttpContext context) { string loginUrl = WebSupport.GetLoginUrl(context); TBRLoginRoot loginRoot = TBRLoginRoot.GetOrCreateLoginRootWithAccount(loginUrl, true); bool doDelete = false; if (doDelete) { loginRoot.DeleteInformationObject(); return; } TBAccount account = loginRoot.Account; string requestPath = context.Request.Path; string contentPath = requestPath.Substring(AuthPersonalPrefixLen); HandleOwnerRequest(account, context, contentPath, TBCollaboratorRole.CollaboratorRoleValue); }
public void ProcessRequest(HttpContext context) { string user = context.User.Identity.Name; bool isAuthenticated = String.IsNullOrEmpty(user) == false; var request = context.Request; var response = context.Response; WebSupport.InitializeContextStorage(context.Request); if (request.Path.StartsWith(AboutPrefix)) { if (request.Path.EndsWith("/oip-layout-register.phtml")) { ProcessDynamicRegisterRequest(request, response); } else { HandleAboutGetRequest(context, request.Path); } return; } if (isAuthenticated == false) { return; } try { if (request.Path.StartsWith(AuthPersonalPrefix)) { HandlePersonalRequest(context); } else if (request.Path.StartsWith(AuthGroupPrefix)) { HandleGroupRequest(context); } else if (request.Path.StartsWith(AuthAccountPrefix)) { HandleAccountRequest(context); } } finally { InformationContext.ProcessAndClearCurrent(); } }
private void HandleGroupRequest(HttpContext context) { string requestPath = context.Request.Path; string groupID = GetGroupID(context.Request.Path); string loginUrl = WebSupport.GetLoginUrl(context); string loginRootID = TBLoginInfo.GetLoginIDFromLoginURL(loginUrl); string loginGroupID = TBRLoginGroupRoot.GetLoginGroupID(groupID, loginRootID); TBRLoginGroupRoot loginGroupRoot = TBRLoginGroupRoot.RetrieveFromDefaultLocation(loginGroupID); if (loginGroupRoot == null) { // TODO: Polite invitation request throw new SecurityException("No access to requested group: TODO - Polite landing page for the group"); return; } InformationContext.Current.CurrentGroupRole = loginGroupRoot.Role; string contentPath = requestPath.Substring(AuthGroupPrefixLen + GuidIDLen + 1); HandleOwnerRequest(loginGroupRoot, context, contentPath, loginGroupRoot.Role); }
public static void SetUserFromCookieIfExists(HttpContext context) { var request = HttpContext.Current.Request; var encCookie = request.Cookies[AuthCookieName]; if (encCookie != null) { try { WebSupport.InitializeContextStorage(context.Request); string userName = EncryptionSupport.DecryptStringFromBase64(encCookie.Value); context.User = new GenericPrincipal(new GenericIdentity(userName, "theball"), new string[0]); // Reset cookie time to be again timeout from this request encCookie.Expires = DateTime.Now.AddSeconds(TimeoutSeconds); context.Response.Cookies.Set(encCookie); } catch { ClearAuthenticationCookie(context.Response); } } }
private void HandleEmailValidation(HttpContext context) { string loginUrl = WebSupport.GetLoginUrl(context); TBRLoginRoot loginRoot = TBRLoginRoot.GetOrCreateLoginRootWithAccount(loginUrl, false); string requestPath = context.Request.Path; string emailValidationID = requestPath.Substring(AuthEmailValidationLen); TBAccount account = loginRoot.Account; TBEmailValidation emailValidation = TBEmailValidation.RetrieveFromDefaultLocation(emailValidationID); if (emailValidation == null) { RespondEmailValidationRecordNotExist(context); return; } StorageSupport.DeleteInformationObject(emailValidation); if (emailValidation.ValidUntil < DateTime.UtcNow) { RespondEmailValidationExpired(context, emailValidation); return; } if (emailValidation.GroupJoinConfirmation != null) { HandleGroupJoinConfirmation(context, account, emailValidation); } else if (emailValidation.DeviceJoinConfirmation != null) { HandleDeviceJoinConfirmation(context, account, emailValidation); } else if (emailValidation.InformationInputConfirmation != null) { HandleInputJoinConfirmation(context, account, emailValidation); } else { HandleAccountEmailValidation(context, account, emailValidation); } }