34 lines
1.0 KiB
C#

using Microsoft.AspNetCore.Authorization;
using System;
namespace gehGassi.Web.Auth.Requirements
{
/// <summary>
/// Requirement für die Prüfung ob ein Request einen bestimmten Header beinhaltet
/// </summary>
public class HasHeaderRequirement : IAuthorizationRequirement
{
/// <summary>
/// Name des Headers
/// </summary>
public string HeaderName { get; }
/// <summary>
/// Wert den der Header haben muss
/// </summary>
public string HeaderValue { get; }
/// <summary>
/// Erstellt eine Instanz
/// </summary>
/// <param name="headerName">Name des Headers</param>
/// <param name="headerValue">Wert den der Header haben muss</param>
/// <exception cref="ArgumentException"></exception>
public HasHeaderRequirement(string headerName, string headerValue)
{
HeaderName = headerName ?? throw new ArgumentException(nameof(headerName));
HeaderValue = headerValue;
}
}
}