public AccessAuthorization(SecurityStore store, string id)
 {
     Id            = id;
     _store        = store;
     _bag          = new SecurityBag();
     _bag.Added   += BagOnAdded;
     _bag.Removed += BagOnRemoved;
 }
 public ConditionalAuthorization(SecurityStore store, string id)
 {
     Id         = id;
     _store     = store;
     _bag       = new SecurityBag();
     Conditions = new ObservableCollection <IAccessCondition>();
     ((INotifyCollectionChanged)Conditions).CollectionChanged += ConditionsChanged;
     _bag.Added   += BagOnAdded;
     _bag.Removed += BagOnRemoved;
 }
 public SecurityItem(SecurityStore store, string id)
 {
     _store        = store;
     Id            = id;
     _bag          = new SecurityBag();
     Children      = new SecurityCollection <ISecurityItem>().RegisterCollectionNotifyChanged(ChildrenChanged);
     Parents       = new SecurityCollection <ISecurityItem>().RegisterCollectionNotifyChanged(ParentsChanged);
     _bag.Added   += BagOnAdded;
     _bag.Removed += BagOnRemoved;
 }
示例#4
0
        public static ISecurityIdentity AddSecurityIdentity(this ISecurityStore store, string id = null)
        {
            if (string.IsNullOrEmpty(id))
            {
                id = Guid.NewGuid().ToString();
            }
            SecurityStore    securityStore    = (SecurityStore)store;
            SecurityIdentity securityIdentity = new SecurityIdentity((SecurityStore)store, id);

            securityStore.SecurityIdentities.Add(securityIdentity);
            return(securityIdentity);
        }
示例#5
0
        public static ISecurityItem AddSecurityItem(this ISecurityStore store, string id = null)
        {
            SecurityStore securityStore = (SecurityStore)store;

            if (string.IsNullOrEmpty(id))
            {
                id = Guid.NewGuid().ToString();
            }
            SecurityItem securityItem = new SecurityItem((SecurityStore)store, id);

            securityStore.SecurityItems.Add(securityItem);
            return(securityItem);
        }
示例#6
0
        public static IAccessAuthorization AccessAuthorize(this ISecurityStore store, ISecurityIdentity securityIdentity, ISecurityItem securityItem, string id = null)
        {
            if (string.IsNullOrEmpty(id))
            {
                id = Guid.NewGuid().ToString();
            }
            SecurityStore       securityStore       = (SecurityStore)store;
            AccessAuthorization accessAuthorization = new AccessAuthorization((SecurityStore)store, id)
            {
                SecurityIdentity = securityIdentity, SecurityItem = securityItem
            };

            securityStore.Authorizations.Add(accessAuthorization);
            return(accessAuthorization);
        }
 public SecurityEngine()
 {
     _store = new SecurityStore(this);
 }
 public SecurityItemAuthorizationsResolver(SecurityStore store, ISecurityItem securityItem)
 {
     _store        = store;
     _securityItem = securityItem;
 }
 public StorageSynchronizer(SecurityStore store, ISecurityStorage securityStorage)
 {
     _store           = store;
     _securityStorage = securityStorage;
     Sync();
 }