Example #1
0
 public IActionResult AccessDenied()
 {
     if (BaseAuthorizeAttribute.IsAuthorized(PermissionItem.Member, _userBlProvider, _cfg, HttpContext))
     {
         return(RedirectToAction("Index"));
     }
     return(View());
 }
Example #2
0
        public void OnAuthorization_Test_DontNeedToken()
        {
            #region === ARRANGE ===

            Mock <IList <IFilterMetadata> > mockListIFilterMetadata = new Mock <IList <IFilterMetadata> >();
            Mock <HttpRequest>       mockRequest = new Mock <HttpRequest>();
            Mock <IHeaderDictionary> mockHeaders = new Mock <IHeaderDictionary>();

            mockRequest.SetupGet(x => x.Headers).Returns(
                new HeaderDictionary {
                { "UUID", "Some UUID" }
            }
                );

            Mock <HttpContext> mockContext = new Mock <HttpContext>();
            mockContext.SetupGet(x => x.Request).Returns(mockRequest.Object);

            Mock <IApplicationServicesFactory> mockApplicationServicesFactory = new Mock <IApplicationServicesFactory>();
            Mock <ISessionTokenService>        mockSessionTokenService        = new Mock <ISessionTokenService>();
            BaseAuthorizeAttribute             baseAuthorizeAttribute         = new BaseAuthorizeAttribute(mockApplicationServicesFactory.Object)
            {
                dontNeedToken = true
            };

            UserAppModel userAppModel = new UserAppModel()
            {
                id = 55, active = true, username = "******"
            };

            mockSessionTokenService.Setup(x => x.DecryptToken(It.IsAny <string>(), It.IsAny <string>())).Returns(userAppModel);
            mockApplicationServicesFactory.Setup(x => x.CreateSessionTokenService()).Returns(mockSessionTokenService.Object);

            ActionContext actionContext = new ActionContext(mockContext.Object, new RouteData(), new ControllerActionDescriptor());

            #endregion

            #region === ACT ===

            AuthorizationFilterContext authorizationFilterContext = new AuthorizationFilterContext(actionContext, mockListIFilterMetadata.Object);
            baseAuthorizeAttribute.OnAuthorization(authorizationFilterContext);

            #endregion

            #region === ASSERT ===

            Assert.IsNotInstanceOfType(authorizationFilterContext.Result, typeof(UnauthorizedResult));

            #endregion
        }