public override void TryToAuthenticate(HttpContextBase context, int portalId) { var authHeader = context.Request.Headers["Authorization"]; if (String.IsNullOrEmpty(authHeader)) { return; } var digestAuthentication = new DigestAuthentication( new DigestAuthenticationRequest(authHeader, context.Request.HttpMethod), portalId); if (digestAuthentication.IsValid) { context.User = digestAuthentication.User; } else if (digestAuthentication.IsNonceStale) { var sac = new ServicesContextWrapper(context); sac.DoA401 = true; sac.IsStale = true; context.Response.End(); } }
protected override AuthorizationContext InvokeAuthorizationFilters(ControllerContext controllerContext, IList<IAuthorizationFilter> filters, ActionDescriptor actionDescriptor) { var context = base.InvokeAuthorizationFilters(controllerContext, filters, actionDescriptor); if(context.Result != null && context.Result is HttpUnauthorizedResult) { var sac = new ServicesContextWrapper(controllerContext.HttpContext); sac.DoA401 = true; } return context; }
protected override AuthorizationContext InvokeAuthorizationFilters(ControllerContext controllerContext, IList <IAuthorizationFilter> filters, ActionDescriptor actionDescriptor) { var context = base.InvokeAuthorizationFilters(controllerContext, filters, actionDescriptor); if (context.Result != null && context.Result is HttpUnauthorizedResult) { var sac = new ServicesContextWrapper(controllerContext.HttpContext); sac.DoA401 = true; } return(context); }
public void IsStalePersists() { //Arrange var context = new Mock <HttpContextBase>(); var items = new Dictionary <string, object>(); context.Setup(x => x.Items).Returns(items); var intialContext = new ServicesContextWrapper(context.Object); //Act intialContext.IsStale = true; var resultantContext = new ServicesContextWrapper(context.Object); //Assert Assert.IsTrue(resultantContext.IsStale); }
public void DoA401Clears() { //Arrange var context = new Mock <HttpContextBase>(); var items = new Dictionary <string, object>(); context.Setup(x => x.Items).Returns(items); var initialContext = new ServicesContextWrapper(context.Object); //Act initialContext.DoA401 = true; initialContext.DoA401 = false; var resultantContext = new ServicesContextWrapper(context.Object); //Assert Assert.IsFalse(resultantContext.DoA401); }