public IActionResult AccessDenied() { if (BaseAuthorizeAttribute.IsAuthorized(PermissionItem.Member, _userBlProvider, _cfg, HttpContext)) { return(RedirectToAction("Index")); } return(View()); }
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 }