예제 #1
0
        private void AddMemeber(IActiveDirectoryGroup adGroup, IActiveDirectoryObject obj)
        {
            var adGroupMembers = adGroup.ListMembers();
            var member         = adGroupMembers.Where(m => m.Id == obj.Id).FirstOrDefault();

            if (member == null)
            {
                adGroup.Update().WithMember(obj.Id).Apply();
            }
            else
            {
                throw new Exception("Member already exist in this group");
            }
        }
예제 #2
0
        public ICustomActivityResult Execute()
        {
            var auth = GetAuthenticated();
            IActiveDirectoryObject ADObject = auth.ActiveDirectoryUsers.GetByName(objectName);

            if (ADObject == null)
            {
                ADObject = auth.ActiveDirectoryGroups.GetByName(roleNameId);
            }

            if (ADObject == null)
            {
                throw new Exception(string.Format("Active Directory object '{0}' not found.", objectName));
            }

            var role = auth.RoleAssignments.
                       Define(Guid.NewGuid().ToString()).ForObjectId(ADObject.Id).
                       WithBuiltInRole(this.GetRole(roleNameId)).
                       WithSubscriptionScope(subscriptionId).Create();

            return(this.GenerateActivityResult(GetActivityResult(role.Id)));
        }