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();
            }
        }
Esempio n. 2
0
        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;
        }
Esempio n. 3
0
        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);
        }