12345678910111213141516171819202122232425262728 |
- using System.Linq;
- namespace InABox.Core
- {
- public abstract class BaseSecurityDescriptor<T> : ISecurityDescriptor where T : LicenseToken
- {
- public virtual bool Visible => SecurityDescriptorUtils.IsSupported(GetType());
- public virtual string Category => "";
- public string Type => typeof(T).GetCaption(); //SecurityDescriptorUtils.Type(this.GetType());
- public string Code => SecurityDescriptorUtils.Code(GetType());
- public string Description => SecurityDescriptorUtils.Description(GetType());
- public abstract bool Value { get; }
- public bool HasScope(SecurityDescriptorScope scope)
- {
- var attribute =
- GetType().GetCustomAttributes(typeof(SecurityDescriptorScopeAttribute), true).FirstOrDefault() as SecurityDescriptorScopeAttribute;
- if (attribute == null)
- return true;
- return attribute.HasScope(scope);
- }
- }
- }
|