コード例 #1
0
 /// <summary>
 ///     This module requires the user is authenticated with Microsoft Owin authentication.
 /// </summary>
 /// <param name="module">Module to enable</param>
 public static void RequiresMSOwinAuthentication(this INancyModule module)
 {
     module.AddBeforeHookOrExecute(ctx =>
     {
         IAuthenticationManager auth = ctx.GetAuthenticationManager();
         return (auth == null || auth.User == null || auth.User.Identity == null || !auth.User.Identity.IsAuthenticated)
             ? HttpStatusCode.Unauthorized
             : (Response)null;
     }, "Requires MS Owin authentication");
 }
コード例 #2
0
 /// <summary>
 ///     This module requires the security claims to be validated.
 /// </summary>
 /// <param name="module"></param>
 /// <param name="isValid"></param>
 public static void RequiresSecurityClaims(this INancyModule module, Func<Claim[], bool> isValid)
 {
     module.RequiresMSOwinAuthentication();
     module.AddBeforeHookOrExecute(ctx =>
     {
         IAuthenticationManager auth = ctx.GetAuthenticationManager();
         return isValid(auth.User.Claims.ToArray())
             ? (Response)null
             : HttpStatusCode.Unauthorized;
     }, "Requires valid security claims");
 }
コード例 #3
0
ファイル: ModuleSecurity.cs プロジェクト: pauloortins/Nancy
 /// <summary>
 /// This module requires claims to be validated
 /// </summary>
 /// <param name="module">Module to enable</param>
 /// <param name="isValid">Claims validator</param>
 public static void RequiresValidatedClaims(this INancyModule module, Func<IEnumerable<string>, bool> isValid)
 {
     module.AddBeforeHookOrExecute(SecurityHooks.RequiresAuthentication(), "Requires Authentication");
     module.AddBeforeHookOrExecute(SecurityHooks.RequiresValidatedClaims(isValid), "Requires Validated Claim");
 }
コード例 #4
0
ファイル: ModuleSecurity.cs プロジェクト: pauloortins/Nancy
 /// <summary>
 /// This module requires authentication and certain claims to be present.
 /// </summary>
 /// <param name="module">Module to enable</param>
 /// <param name="requiredClaims">Claim(s) required</param>
 public static void RequiresClaims(this INancyModule module, IEnumerable<string> requiredClaims)
 {
     module.AddBeforeHookOrExecute(SecurityHooks.RequiresAuthentication(), "Requires Authentication");
     module.AddBeforeHookOrExecute(SecurityHooks.RequiresClaims(requiredClaims), "Requires Claims");
 }
コード例 #5
0
ファイル: ModuleSecurity.cs プロジェクト: pauloortins/Nancy
 /// <summary>
 /// This module requires authentication
 /// </summary>
 /// <param name="module">Module to enable</param>
 public static void RequiresAuthentication(this INancyModule module)
 {
     module.AddBeforeHookOrExecute(SecurityHooks.RequiresAuthentication(), "Requires Authentication");
 }
コード例 #6
0
 public static void RequiresDropboxAuthentication(this INancyModule module, IDropNetClient dropNetClient)
 {
     module.AddBeforeHookOrExecute(SecurityHooks.RequiresDropboxAuthentication(dropNetClient), "Authentication failed.");
 }
コード例 #7
0
ファイル: ModuleSecurity.cs プロジェクト: RadifMasud/Nancy
 /// <summary>
 /// This module requires authentication and any one of certain claims to be present.
 /// </summary>
 /// <param name="module">Module to enable</param>
 /// <param name="requiredClaims">Claim(s) required</param>
 public static void RequiresAnyClaim(this INancyModule module, params Predicate<Claim>[] requiredClaims)
 {
     module.AddBeforeHookOrExecute(SecurityHooks.RequiresAuthentication(), "Requires Authentication");
     module.AddBeforeHookOrExecute(SecurityHooks.RequiresAnyClaim(requiredClaims), "Requires Any Claim");
 }