public static void OnLoad1Step(IUserSecurity form, EventArgs args) { IUser user = form.CurrentEntity as IUser; IOwnerSecurityProfile profile = user.GetDefaultSecurityProfile(); form.lupFLSProfile.LookupResultValue = profile; }
internal static string OwnerText(this IUserSecurity userSecurity) { if (userSecurity == null) { return(string.Empty); } return($"{userSecurity.FirstName} {userSecurity.LastName} ({userSecurity.SamAccountName.Trim()})"); }
public static void btnSave_OnClickStep(IUserSecurity form, EventArgs args) { IUser user = form.CurrentEntity as IUser; IOwnerSecurityProfile securityProfile = form.lupFLSProfile.LookupResultValue as IOwnerSecurityProfile; user.UpdateDefaultSecurityProfile(securityProfile); user.Save(); }
public BasicAuthenticationHandler( IOptionsMonitor <AuthenticationSchemeOptions> options, ILoggerFactory logger, UrlEncoder encoder, ISystemClock clock, IUserSecurity userService) : base(options, logger, encoder, clock) { _userService = userService; }
/// <summary> /// Initializes a new instance of the <see cref="AccountController" /> class. /// </summary> /// <param name="catalogClient">The catalog client.</param> /// <param name="userClient">The user client.</param> /// <param name="countryClient">The country client.</param> /// <param name="orderClient">The order client.</param> /// <param name="settingsClient">The settings client.</param> /// <param name="webSecurity">The web security.</param> /// <param name="oAuthSecurity">The o authentication security.</param> /// <param name="orderService">The order service.</param> public AccountController(CatalogClient catalogClient, UserClient userClient, CountryClient countryClient, OrderClient orderClient, SettingsClient settingsClient, IUserSecurity webSecurity, IOAuthWebSecurity oAuthSecurity, IOrderService orderService) { _catalogClient = catalogClient; _userClient = userClient; _countryClient = countryClient; _orderClient = orderClient; _settingsClient = settingsClient; _webSecurity = webSecurity; _oAuthSecurity = oAuthSecurity; _orderService = orderService; }
public async Task <string> Delete(long id, IUserSecurity user) { var type = _buildSpecificationType == BuildSpecificationTypeConstant.OperatingSystem ? "OS" : "application"; var toDelete = await Ctx.BuildSpecifications .Include(p => p.Nodes) .Include(p => p.Children) .ById(_buildSpecificationType, id); if (toDelete == null) { return($"The {type} spec not found."); } if (toDelete.OwnerEmployeeId != user.EmployeeId) { return($"You are not authorized to delete this {type} spec."); } if (_buildSpecificationType == BuildSpecificationTypeConstant.Application && toDelete.Nodes.Any()) { return ("Some nodes have been assigned to this application spec and must be removed before allowing delete to occur."); } if (_buildSpecificationType == BuildSpecificationTypeConstant.OperatingSystem && toDelete.Children.Any()) { return ("Some application specs use this OS spec and must be changed before allowing the delete to occur."); } Ctx.SoftwareComponentEnvironments.RemoveRange(Ctx.SoftwareComponentEnvironments.Where(p => p.SoftwareComponent.BuildSpecificationId == toDelete.Id)); Ctx.SoftwareComponents.RemoveRange(Ctx.SoftwareComponents.ForBuildSpec(toDelete.Id)); Ctx.Justifications.RemoveRange(Ctx.Justifications.ForBuildSpec(toDelete.Id)); Ctx.Ports.RemoveRange(Ctx.Ports.ForBuildSpec(toDelete.Id)); Ctx.BuildSpecifications.Remove(toDelete); await Ctx.SaveChangesAsync(); return(null); }
public AspNetBasicSecurityManager(IUserIdentityProvider identityProvider, IUserSecurity userSecurity) : this(identityProvider, userSecurity, "_PAS_") { }
/// <summary> /// Initializes a new instance of the <see cref="SecurityService"/> class. /// </summary> /// <param name="repository">The repository.</param> /// <param name="membershipProvider">The membership provider.</param> public SecurityService(ISecurityRepository repository, IUserSecurity membershipProvider) { SecurityRepository = repository; MembershipProvider = membershipProvider; }
public static void OnLoad1Step( IUserSecurity form, EventArgs args) { IUser user = form.CurrentEntity as IUser; IOwnerSecurityProfile profile = user.GetDefaultSecurityProfile(); form.lupFLSProfile.LookupResultValue = profile; }
public async Task <NodeSearchResults> Search(PlatformConstant[] platform, int[] environment, PciScopeConstant[] pciScope, NodeComplianceSearchTypeConstant[] compliance, NodeSearchTypeConstant searchType, string query, bool hideProductExclusions, IUserSecurity employeeSecurity, int pageIndex, bool showButtons) { var valid = !string.IsNullOrWhiteSpace(query); const int take = 30; var q = _ctx.Nodes.AsNoTracking().Active(); if (hideProductExclusions) { q = q.ProductIsNotExlcuded(); } if (platform?.Length > 0) { q = q.ByPlatforms(platform); valid = true; } if (environment?.Length > 0) { q = q.ForEnvironments(environment); valid = true; } if (pciScope?.Length > 0) { q = q.ByPciScopes(pciScope); valid = true; } var complianceFlags = compliance.ConvertToFlag(); if (complianceFlags.HasValue) { var cf = complianceFlags.Value; var unassigned = cf.HasFlag(NodeComplianceSearchTypeConstant.Unassigned); var assigned = cf.HasFlag(NodeComplianceSearchTypeConstant.Assigned); var complianceStatuses = new List <ComplianceStatusConstant>(); if (cf.HasFlag(NodeComplianceSearchTypeConstant.NotReporting)) { complianceStatuses.Add(ComplianceStatusConstant.NotFound); } if (cf.HasFlag(NodeComplianceSearchTypeConstant.Failing)) { complianceStatuses.Add(ComplianceStatusConstant.Failed); } if (cf.HasFlag(NodeComplianceSearchTypeConstant.Passing)) { complianceStatuses.Add(ComplianceStatusConstant.Succeeded); } if (complianceStatuses.Any()) { assigned = true; q = q.ByComplianceStatuses(complianceStatuses.ToArray()); } if (unassigned && !assigned) { q = q.Unassigned(); } else if (assigned && !unassigned) { q = q.Assigned(); } valid = true; } switch (searchType) { case NodeSearchTypeConstant.Mine: if (!string.IsNullOrWhiteSpace(query)) { q = q.Where(p => EF.Functions.Like(p.Fqdn, $"{query}%")); } q = q.Where(p => p.OwnerEmployeeId == employeeSecurity.EmployeeId).OrderBy(p => p.Fqdn); valid = true; break; case NodeSearchTypeConstant.Fqdn: if (!string.IsNullOrWhiteSpace(query)) { q = q.Where(p => EF.Functions.Like(p.Fqdn, $"{query}%")); } q = q.OrderBy(p => p.Fqdn); break; case NodeSearchTypeConstant.Owner: if (!string.IsNullOrWhiteSpace(query)) { var empIds = await q.Select(p => p.Owner).Search(query).Select(p => p.Id).Distinct() .ToArrayAsync(); q = q.Where(p => empIds.Contains(p.OwnerEmployeeId)); } q = q.OrderBy(p => p.Owner.PreferredName ?? p.Owner.FirstName).ThenBy(p => p.Owner.LastName) .ThenBy(p => p.Fqdn); break; case NodeSearchTypeConstant.Director: if (!string.IsNullOrWhiteSpace(query)) { var empIds = (await q.Where(p => p.Owner.ReportingDirectorId != null) .Select(p => p.Owner.ReportingDirector).Search(query).Select(p => p.Id).Distinct() .ToArrayAsync()).Cast <long?>().ToArray(); q = q.Where(p => empIds.Contains(p.Owner.ReportingDirectorId)); } q = q.OrderBy(p => p.Owner.PreferredName ?? p.Owner.FirstName).ThenBy(p => p.Owner.LastName) .ThenBy(p => p.Fqdn); break; case NodeSearchTypeConstant.Product: if (!string.IsNullOrWhiteSpace(query)) { var sw = $"{query}%"; q = q.Where(p => EF.Functions.Like(p.Product.Name, sw) || EF.Functions.Like(p.ProductCode, sw) || EF.Functions.Like(p.Product.Name, sw) || EF.Functions.Like(p.ProductCode, sw) || EF.Functions.Like(p.Function.Name, sw)); } q = q.OrderBy(p => p.Product.Name).ThenBy(p => p.Function.Name).ThenBy(p => p.Fqdn); break; case NodeSearchTypeConstant.OsSpec: q = q.Where(p => p.BuildSpecificationId.HasValue); if (!string.IsNullOrWhiteSpace(query)) { var contains = $"%{query}%"; q = q.Where(p => EF.Functions.Like(p.BuildSpecification.Parent.Name, contains)); } q = q.OrderBy(p => p.BuildSpecification.Name).ThenBy(p => p.Fqdn); break; case NodeSearchTypeConstant.AppSpec: q = q.Where(p => p.BuildSpecificationId.HasValue); if (!string.IsNullOrWhiteSpace(query)) { var contains = $"%{query}%"; q = q.Where(p => EF.Functions.Like(p.BuildSpecification.Name, contains)); } q = q.OrderBy(p => p.BuildSpecification.Name).ThenBy(p => p.Fqdn); break; default: throw new ArgumentException(@"NodeSearchType not supported.", nameof(searchType)); } if (!valid) { q = q.Where(p => 1 == 2); } var matchCount = await q.CountAsync(); var skip = take * pageIndex; var results = matchCount > 0 ? await ToResult(q.Skip(skip).Take(take), showButtons) : new NodeSearchResult[0]; var displayCount = skip + results.Length; return(new NodeSearchResults(results, matchCount, displayCount)); }
public Welcome(IUserSecurity userSecurity) { FirstName = userSecurity.FirstName; LastName = userSecurity.LastName; }
public User(IUserIdentity credentials, IUserSecurity userSecurity) { this.identity = credentials; this.userSecurity = userSecurity; }
protected SecurityManager(IUserIdentityProvider userIdentityProvider, IUserSecurity userSecurity) { this.userIdentityProvider = userIdentityProvider; this.userSecurity = userSecurity; }
public AspNetBasicSecurityManager(IUserIdentityProvider identityProvider, IUserSecurity userSecurity, string stateKeyPrefix) : base(identityProvider, userSecurity) { this.stateKeyPrefix += stateKeyPrefix; }
/// <summary> /// Initializes a new instance of the <see cref="AuthenticationService"/> class. /// </summary> /// <param name="repository">The repository.</param> /// <param name="membershipProvider">The membership provider.</param> public AuthenticationService(ISecurityRepository repository, IUserSecurity membershipProvider) { MembershipProvider = membershipProvider; SecurityRepository = repository; }
public async Task <TSearchResult[]> GetSearchResults(SpecSearchTypeConstant type, string query, IUserSecurity employeeSecurity) { var q = Ctx.BuildSpecifications.AsNoTracking().OfBuildSpecType(_buildSpecificationType); switch (type) { case SpecSearchTypeConstant.Mine: if (employeeSecurity == null) { q = q.Where(p => 1 == 2); } else { var contains = $"%{query}%"; q = q.Where(p => p.OwnerEmployeeId == employeeSecurity.EmployeeId); if (!string.IsNullOrWhiteSpace(query)) { q = q.Where(p => EF.Functions.Like(p.Name, contains)).OrderBy(p => p.Name); } } break; case SpecSearchTypeConstant.Name: if (employeeSecurity == null) { q = q.Where(p => 1 == 2); } else { var contains = $"%{query}%"; q = q.Where(p => EF.Functions.Like(p.Name, contains)).OrderBy(p => p.Name); } break; case SpecSearchTypeConstant.Owner: if (string.IsNullOrWhiteSpace(query)) { q = q.Where(p => 1 == 2); } else { var empIds = Ctx.Employees.Search(query).Select(p => p.Id).ToArray(); q = q.Where(p => empIds.Contains(p.OwnerEmployeeId)).OrderBy(p => p.Owner.FirstName) .ThenBy(p => p.Owner.LastName).ThenBy(p => p.Name); } break; case SpecSearchTypeConstant.OsSpec: if (string.IsNullOrWhiteSpace(query) || _buildSpecificationType == BuildSpecificationTypeConstant.OperatingSystem) { q = q.Where(p => 1 == 2); } else { var sw = $"{query}%"; q = q.Where(p => EF.Functions.Like(p.Parent.Name, sw)); } break; default: throw new ArgumentException(@"SpecSearchTypeConstant not supported.", nameof(type)); } return(await SearchResultMapper(q)); }
public async Task <long> Clone(long cloneId, IUserSecurity employeeSecurity) { var toClone = await Ctx.BuildSpecifications .Include(p => p.Justifications) .Include(p => p.Ports) .Include(p => p.SoftwareComponents) .ById(_buildSpecificationType, cloneId); if (toClone == null) { throw new ArgumentException( $@"The id passed in ({ cloneId }) is not a valid id for a BuildSpec of Type {_buildSpecificationType}", nameof(cloneId)); } var newSpec = new BuildSpecification { BuildSpecificationType = _buildSpecificationType, Name = $"Clone {Guid.NewGuid()}", WikiLink = toClone.WikiLink, Overview = toClone.Overview, OperatingSystemVersion = toClone.OperatingSystemVersion, OperatingSystemName = toClone.OperatingSystemName, OwnerEmployeeId = employeeSecurity.EmployeeId, ParentId = toClone.ParentId, Platform = toClone.Platform, RunningCoreOs = toClone.RunningCoreOs }; Ctx.BuildSpecifications.Add(newSpec); await Ctx.SaveChangesAsync(); var id = newSpec.Id; var jidDict = new Dictionary <long, Justification>(); foreach (var justification in toClone.Justifications) { var newJust = Ctx.Justifications.Add(new Justification { BuildSpecificationId = id, Color = justification.Color, JustificationText = justification.JustificationText, JustificationType = justification.JustificationType }).Entity; jidDict.Add(justification.Id, newJust); } await Ctx.SaveChangesAsync(); foreach (var port in toClone.Ports) { var newPort = new Port { BuildSpecificationId = id, From = port.From, To = port.To, IsExternal = port.IsExternal, PortType = port.PortType }; if (port.Justification != null) { newPort.JustificationId = jidDict[port.Justification.Id].Id; } Ctx.Ports.Add(newPort); } var sidDict = new Dictionary <long, SoftwareComponent>(); foreach (var software in toClone.SoftwareComponents) { var newSoftware = new SoftwareComponent { BuildSpecificationId = id, JustificationType = software.JustificationType, Name = software.Name, Description = software.Description, NonCore = software.NonCore, PciScope = software.PciScope }; if (software.Justification != null) { newSoftware.JustificationId = jidDict[software.Justification.Id].Id; } Ctx.SoftwareComponents.Add(newSoftware); sidDict.Add(software.Id, newSoftware); } await Ctx.SaveChangesAsync(); foreach (var key in sidDict.Keys) { var environments = Ctx.SoftwareComponentEnvironments.Where(p => p.SoftwareComponentId == key) .Select(p => p.EnvironmentId).ToArray(); foreach (var environment in environments) { Ctx.SoftwareComponentEnvironments.Add(new SoftwareComponentEnvironment { SoftwareComponentId = sidDict[key].Id, EnvironmentId = environment }); } } await Ctx.SaveChangesAsync(); return(id); }
public DetailedHealthCheck(IUserSecurity loggedInUser, bool dbConnected, string[] configuration, string contextConnectionStringInfo) : base(dbConnected) { Configuration = configuration; ContextConnectionStringInfo = contextConnectionStringInfo; LoggedInUser = JsonConvert.SerializeObject(loggedInUser); }