using System.Collections.Generic; using System.Linq; using gehGassi.Permissions; using gehGassi.Web.Auth.Filters; using Microsoft.AspNetCore.Mvc; namespace gehGassi.Web.Auth.Attributes { /// /// Attribut zur Prüfung ob ein Benutzer über zumindest eine Permission verfügt /// public class HasPermissionAttribute : TypeFilterAttribute { private List _permissions; public List Permissions { get => _permissions; set { _permissions = value; Arguments = new object[] { new PermissionSettings() { Permissions = _permissions.ToList(), All = false } }; } } public HasPermissionAttribute(params Permission[] permissions) : base(typeof(AuthorizePermissionsPolicyFilter)) { _permissions = permissions.ToList(); Arguments = new object[] { new PermissionSettings() { Permissions = _permissions.ToList(), All = false } }; } } }