using BS.Shared; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BeWo.Service.Attributes { [AttributeUsage(AttributeTargets.Method | AttributeTargets.Class, Inherited = true)] public class RequireWcfAuthorizationAttribute : Attribute { public RequireWcfAuthorizationAttribute(params UserRightType[] pPermissions) { Permissions = pPermissions; } public UserRightType[] Permissions { get; } public bool HasPermission(IEnumerable rights) { if (Permissions is null || Permissions.Length == 0) return true; foreach (var right in rights) { if (HasPermission(right)) return true; } return false; } public bool HasPermission(UserRightType right) { if (Permissions is null || Permissions.Length == 0) return true; for (var i = 0; i < Permissions.Length; i++) { var permission = Permissions[i]; if (right == permission) return true; } return false; } } }