/// <summary> /// Login the session if possible /// </summary> public void Execute() { NameValueCollection queryString = requestWrapper.QueryString; string amplaSession = queryString["amplaSession"]; if (!string.IsNullOrEmpty(amplaSession)) { if (amplaUserService != null) { string message; AmplaUser amplaUser = amplaUserService.SessionLogin(amplaSession, out message); if (amplaUser != null) { formsAuthenticationService.StoreUserTicket(amplaUser, false); amplaSessionStorage.SetAmplaSession(amplaUser.Session); UriBuilder builder = new UriBuilder(requestWrapper.Url); var query = HttpUtility.ParseQueryString(builder.Query); query.Remove("amplaSession"); builder.Query = query.ToString(); responseWrapper.Redirect(builder.ToString()); } } } }
public void SessionStorageIsSetFromForms() { securityWebService.AddExistingSession("User"); string session = securityWebService.Sessions[0].SessionId; string message; AmplaUser user = amplaUserService.SessionLogin(session, out message); Assert.That(user, Is.Not.Null); FormsAuthenticationService.StoreUserTicket(user, false); context.Response.Redirect("http://localhost/Production"); Assert.That(AmplaSessionStorage.GetAmplaSession(), Is.Empty); new AlignSessionWithFormsAuthentication(context.Request, AmplaSessionStorage, FormsAuthenticationService).Execute(); Assert.That(AmplaSessionStorage.GetAmplaSession(), Is.EqualTo(session)); }