public void OnAuthorization(AuthorizationFilterContext context) { // The redirect page it's done by .net. Below follow the our code that do this. if (!context.HttpContext.User.Identity.IsAuthenticated) { context.Result = new RedirectToRouteResult(new RouteValueDictionary(new { area = "Identity", page = "/Account/Login", ReturnUrl = context.HttpContext.Request.Path.ToString() })); return; } if (!CustomAuthorization.ValidateClaimsUser(context.HttpContext, _claim.Type, _claim.Value)) { context.Result = new StatusCodeResult(403); } }
// Can disable a link in razor page public static IHtmlContent IfClaimShow(this IHtmlContent page, HttpContext context, string claimName, string claimValue) { return(CustomAuthorization.ValidateClaimsUser(context, claimName, claimValue) ? page : null); }
// Can disable a button in razor page public static string IfClaimShow(this RazorPage page, string claimName, string claimValue) { return(CustomAuthorization.ValidateClaimsUser(page.Context, claimName, claimValue) ? "" : "disabled"); }
// Can validate an information in razor page public static bool IfClaim(this RazorPage page, string claimName, string claimValue) { return(CustomAuthorization.ValidateClaimsUser(page.Context, claimName, claimValue)); }