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(); } }
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)); }
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)); }