示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }