public static void RequiresClaimsIfAuthorizationEnabled(this NancyModule module, IAppConfiguration configuration, Predicate <Claim> claim) { if (configuration.EnableAuthorization) { module.RequiresClaims(claim); } }
public static void RequiresPermissions(this NancyModule module, params string[] permissions) { module.RequiresClaims(claim => claim.Type == Permissions.Claim && permissions.Contains(claim.Value)); }
public static void RequiresPermissionsAndClaims <T>(this NancyModule module, string name, IEnumerable <string> permissions, string grain, string securableItem, params Predicate <Claim>[] requiredClaims) { module.RequiresClaims(requiredClaims); module.AddBeforeHookOrExecute(RequiresPermissions <T>(name, permissions, grain, securableItem)); }
public static void RequiresOwnershipAndClaims <T>(this NancyModule module, bool doesClientOwnItem, string grain, string securableItem, params Predicate <Claim>[] requiredClaims) { module.RequiresClaims(requiredClaims); module.AddBeforeHookOrExecute(RequiresOwnership <T>(doesClientOwnItem, grain, securableItem)); }
public static void RequiresRole(this NancyModule module, AccessLevel accessLevel) { module.RequiresClaims(claims => claims.Type == ClaimTypes.Role && claims.Value == accessLevel.ToString()); }