public override void OnAuthorization(AuthorizationContext filterContext) { if (filterContext.SkipAuthorisation()) { return; } var identity = (ClaimsIdentity)filterContext.HttpContext.User.Identity; var hasEmailVerifiedClaim = identity.HasClaim(c => c.Type.Equals(JwtClaimTypes.EmailVerified)); if (hasEmailVerifiedClaim && identity.Claims.Single(c => c.Type.Equals(JwtClaimTypes.EmailVerified)).Value.Equals("false", StringComparison.InvariantCultureIgnoreCase)) { bool userIsInternal = ((ClaimsIdentity)filterContext.HttpContext.User.Identity).HasClaim( ClaimTypes.AuthenticationMethod, Claims.CanAccessInternalArea); if (userIsInternal) { filterContext.Result = new RedirectResult("~/Admin/Account/AdminAccountActivationRequired"); } else { filterContext.Result = new RedirectResult("~/Account/UserAccountActivationRequired"); } } }
public override void OnAuthorization(AuthorizationContext filterContext) { if (filterContext.IsChildAction || filterContext.SkipAuthorisation()) { return; } var principal = (ClaimsPrincipal)filterContext.HttpContext.User; var identity = (ClaimsIdentity)filterContext.HttpContext.User.Identity; if (!identity.IsAuthenticated) { return; } var organisationRegistered = identity.HasClaim(c => c.Type.Equals(ClaimTypes.OrganisationId)); if (principal.IsInternalUser()) { return; } if (!organisationRegistered) { filterContext.Result = new RedirectToRouteResult( new RouteValueDictionary(new { controller = "Registration", action = "CreateNewOrganisation", area = string.Empty })); } }
public override void OnAuthorization(AuthorizationContext filterContext) { if (filterContext.SkipAuthorisation()) { return; } var identity = (ClaimsIdentity)filterContext.HttpContext.User.Identity; var hasEmailVerifiedClaim = identity.HasClaim(c => c.Type.Equals(JwtClaimTypes.EmailVerified)); if (hasEmailVerifiedClaim && identity.Claims.Single(c => c.Type.Equals(JwtClaimTypes.EmailVerified)).Value.Equals("false", StringComparison.InvariantCultureIgnoreCase)) { bool userIsInternal = ((ClaimsIdentity)filterContext.HttpContext.User.Identity).HasClaim( ClaimTypes.AuthenticationMethod, Claims.CanAccessInternalArea); if (userIsInternal) { filterContext.Result = new RedirectResult("~/Admin/Account/AdminAccountActivationRequired"); } else { filterContext.Result = new RedirectResult("~/Account/UserAccountActivationRequired"); } } }
public override void OnAuthorization(AuthorizationContext filterContext) { if (filterContext.IsChildAction || filterContext.SkipAuthorisation()) { return; } var principal = (ClaimsPrincipal)filterContext.HttpContext.User; var identity = (ClaimsIdentity)filterContext.HttpContext.User.Identity; if (!identity.IsAuthenticated) { return; } var organisationRegistered = identity.HasClaim(c => c.Type.Equals(ClaimTypes.OrganisationId)); if (principal.IsInternalUser()) { return; } if (!organisationRegistered) { filterContext.Result = new RedirectToRouteResult( new RouteValueDictionary(new { controller = "Registration", action = "CreateNewOrganisation", area = string.Empty })); } }
public override void OnAuthorization(AuthorizationContext filterContext) { if (filterContext.IsChildAction || filterContext.SkipAuthorisation()) { return; } var principal = (ClaimsPrincipal)filterContext.HttpContext.User; if (!principal.IsInternalUser()) { return; } RedirectInternalUser(filterContext, (ClaimsIdentity)principal.Identity); }
public override void OnAuthorization(AuthorizationContext filterContext) { if (filterContext.IsChildAction || filterContext.SkipAuthorisation()) { return; } var principal = (ClaimsPrincipal)filterContext.HttpContext.User; var identity = (ClaimsIdentity)principal.Identity; var hasEmailVerifiedClaim = identity.HasClaim(c => c.Type.Equals(JwtClaimTypes.EmailVerified)); if (hasEmailVerifiedClaim && identity.Claims.Any(c => c.Type.Equals(JwtClaimTypes.EmailVerified) && c.Value.Equals("false", StringComparison.InvariantCultureIgnoreCase))) { var redirectAddress = principal.IsInternalUser() ? new RouteValueDictionary(new { controller = "Registration", action = "AdminEmailVerificationRequired", area = "Admin" }) : new RouteValueDictionary(new { controller = "Account", action = "EmailVerificationRequired", area = string.Empty }); filterContext.Result = new RedirectToRouteResult(redirectAddress); } }
public override void OnAuthorization(AuthorizationContext filterContext) { if (filterContext.IsChildAction || filterContext.SkipAuthorisation()) { return; } var principal = (ClaimsPrincipal)filterContext.HttpContext.User; var identity = (ClaimsIdentity)principal.Identity; var hasEmailVerifiedClaim = identity.HasClaim(c => c.Type.Equals(JwtClaimTypes.EmailVerified)); if (hasEmailVerifiedClaim && identity.Claims.Any(c => c.Type.Equals(JwtClaimTypes.EmailVerified) && c.Value.Equals("false", StringComparison.InvariantCultureIgnoreCase))) { var redirectAddress = principal.IsInternalUser() ? new RouteValueDictionary(new { controller = "Registration", action = "AdminEmailVerificationRequired", area = "Admin" }) : new RouteValueDictionary(new { controller = "Account", action = "EmailVerificationRequired", area = string.Empty }); filterContext.Result = new RedirectToRouteResult(redirectAddress); } }