using gehGassi.Web.Auth.Filters; using gehGassi.Web.Auth.Requirements; using Microsoft.AspNetCore.Mvc; namespace gehGassi.Web.Auth.Attributes { /// /// Attribut zur Prüfung ob ein ein Request einen Header beinhaltet /// public class HasHeaderAuthorizeAttribute : TypeFilterAttribute { private string _headerName; private string _headerValue; /// /// HeaderName der für die Prüfung herangezogen werden soll /// public string HeaderName { get => _headerName; set { _headerName = value; Arguments = new object[] { new HasHeaderRequirement(_headerName, _headerValue) }; } } /// /// HeaderValue der für die Prüfung herangezogen werden soll /// public string HeaderValue { get => _headerValue; set { _headerValue = value; Arguments = new object[] { new HasHeaderRequirement(_headerName, _headerValue) }; } } /// /// Erstellt eine Instanz /// /// Name des Headers der für die Prüfung herangezogen werden soll /// Wert den der Header beinhalten muss public HasHeaderAuthorizeAttribute(string headerName, string headerValue) : base(typeof(AuthorizeHasHeaderPolicyFilter)) { _headerName = headerName; _headerValue = headerValue; Arguments = new object[] { new HasHeaderRequirement(_headerName, _headerValue) }; } } }