private void GetGroupDetails() { string fqn = GetStringProperty(Constants.SOProperties.URM.FQN, true); ServiceBroker.Service.ServiceObjects[0].Properties.InitResultTable(); DataTable dtResults = ServiceBroker.ServicePackage.ResultTable; ICachedIdentity identityFromName = base.ServiceBroker.IdentityService.GetIdentityFromName(K2NEServiceBroker.SecurityManager.GetFullyQualifiedName(fqn), IdentityType.Group, (string)null); if (identityFromName == null) { return; } DataRow dRow = dtResults.NewRow(); dRow[Constants.SOProperties.URM.FQN] = identityFromName.FullyQualifiedName.FQN; dRow[Constants.SOProperties.URM.GroupName] = identityFromName.FullyQualifiedName.FullName; if (identityFromName.Properties.ContainsKey("Name") && identityFromName.Properties["Name"] != null) { dRow[Constants.SOProperties.URM.Name] = identityFromName.Properties["Name"].ToString(); } if (identityFromName.Properties.ContainsKey("Description") && identityFromName.Properties["Description"] != null) { dRow[Constants.SOProperties.URM.Description] = identityFromName.Properties["Description"].ToString(); } if (identityFromName.Properties.ContainsKey("Email") && !string.IsNullOrEmpty(identityFromName.Properties["Email"].ToString())) { dRow[Constants.SOProperties.URM.Email] = identityFromName.Properties["Email"].ToString(); } dtResults.Rows.Add(dRow); }
private static void AddIdentity(DataTable results, ICachedIdentity identityMember) { DataRow dr = results.NewRow(); dr[Constants.SOProperties.Identity.FQN] = identityMember.FullyQualifiedName.FQN; if (identityMember.Properties.ContainsKey("Email")) { dr[Constants.SOProperties.Identity.UserEmail] = identityMember.Properties["Email"] as string; } if (identityMember.Properties.ContainsKey("DisplayName")) { dr[Constants.SOProperties.Identity.IdentityDisplayName] = identityMember.Properties["DisplayName"] as string; } results.Rows.Add(dr); }
private void GetDelimitedIdentityAndContainers() { string[] ldaps = LDAPPaths.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); string[] netbioses = NetBiosNames.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); string fqn = GetStringProperty(Constants.SOProperties.Identity.FQN, true); string delimiter = GetStringParameter(Constants.SOProperties.Identity.Delimiter, true); ServiceBroker.Service.ServiceObjects[0].Properties.InitResultTable(); DataTable dtResults = ServiceBroker.ServicePackage.ResultTable; FQName fqnName = new FQName(fqn); ICachedIdentity userIdentity = ServiceBroker.IdentityService.GetIdentityFromName(fqnName, IdentityType.User, null); ICollection <ICachedIdentity> groupIdentities = ServiceBroker.IdentityService.GetIdentityContainers(userIdentity, IdentitySearchOptions.Groups); ICollection <ICachedIdentity> roleIdentities = ServiceBroker.IdentityService.GetIdentityContainers(userIdentity, IdentitySearchOptions.Roles); if (groupIdentities == null && roleIdentities == null) { return; } string delimitedFQNs = fqnName.FQN; foreach (ICachedIdentity groupIdentity in groupIdentities) { if (groupIdentity.Type == IdentityType.Group) { delimitedFQNs += delimiter + groupIdentity.FullyQualifiedName.FQN; } } foreach (ICachedIdentity roleIdentity in roleIdentities) { if (roleIdentity.Type == IdentityType.Role) { delimitedFQNs += delimiter + roleIdentity.FullyQualifiedName.FQN; } } DataRow dRow = dtResults.NewRow(); dRow[Constants.SOProperties.Identity.DelimitedFQNs] = delimitedFQNs; dtResults.Rows.Add(dRow); }