using System; using Microsoft.AspNetCore.Authorization; namespace gehGassi.Web.Auth.Requirements { /// /// Requirement für die Prüfung des Zugriffs auf einen Kunden /// public class CustomerRequirement : IAuthorizationRequirement { /// /// Name des Parameters. Z.B. CustomerId oder CustomerUniqueId ... /// public string ParameterName { get; } /// /// Soll ein Administrator Zugriff haben auch wenn er nicht den Kunden zugeordnet hat? /// public bool AllowAdmin { get; set; } /// /// Erstellt eine Instanz /// /// Name des Parameters /// Soll ein Administrator Zugriff haben auch wenn er nicht den Kunden zugeordnet hat? /// public CustomerRequirement(string parameterName, bool allowAdmin = false) { ParameterName = parameterName ?? throw new ArgumentException(nameof(parameterName)); AllowAdmin = allowAdmin; } } }