Пример #1
0
        private void EnsureSecurityPoolExists(Site site)
        {
            Identity.Models.SecurityPool securityPool = null;

            if (site.SecurityPoolId != null)
            {
                securityPool = _identityDb.SecurityPools.FirstOrDefault(x => x.PoolId == site.SecurityPoolId);
            }

            if (securityPool == null)
            {
                var directory = _identityDb.Directories.FirstOrDefault(x => x.TenantId == site.Client.TenantKey);

                securityPool = new Identity.Models.SecurityPool()
                {
                    PoolId       = site.SecurityPoolId ?? KeyGen.NewGuid(),
                    PoolType     = PoolType.Site,
                    Name         = site.Title + " Security Pool",
                    TenantId     = site.Client.TenantKey,
                    ParentPoolId = site.Client.SecurityPoolId,
                    DirectoryMap = new DirectoryMap[]
                    {
                        new DirectoryMap {
                            DirectoryId = directory.Id
                        }
                    }
                };

                _identityDb.SecurityPools.Add(securityPool);
                _identityDb.SaveChanges();

                site.SecurityPoolId = securityPool.PoolId;
                _connectDb.SaveChanges();
            }
        }
Пример #2
0
        public async Task <IActionResult> SaveLdapGroupFilter(Identity.Models.SecurityPool ldapSec)
        {
            if ((ldapSec.PoolId != null))
            {
                var savedSec = await _poolManager.GetByIdAsync(ldapSec.PoolId);

                savedSec.LdapFilterGroup = ldapSec.LdapFilterGroup;

                await _poolManager.UpdateAsync(savedSec);
            }


            return(Ok(ldapSec));
        }
Пример #3
0
        public async Task <IViewComponentResult> InvokeAsync(string id = null)
        {
            var poolObject = new Identity.Models.SecurityPool();

            if (!string.IsNullOrEmpty(id))
            {
                var objectId     = id.Split('_');
                var resourceType = objectId[0];
                var poolId       = objectId[1];
                var directoryId  = objectId[2];

                ViewData["directoryId"] = directoryId;
                poolObject = await _poolManager.GetByIdAsync(poolId);
            }


            return(View(poolObject));
        }