コード例 #1
0
ファイル: Program.cs プロジェクト: wstcilzm/CAT_ITALite
        static void ParseUserMembership()
        {
            Console.WriteLine("Start to sync AAD memberships ...");
            foreach (IUser retrievedUser in AllUsers)
            {

                IUserFetcher retrievedUserFetcher = (User)retrievedUser;
                try
                {
                    IPagedCollection<IDirectoryObject> pagedCollection = retrievedUserFetcher.MemberOf.ExecuteAsync().Result;
                    do
                    {
                        //Console.WriteLine("\n {0} is a member of the following Group and Roles (IDs)", retrievedUser.DisplayName);
                        List<IDirectoryObject> directoryObjects = pagedCollection.CurrentPage.ToList();
                        foreach (IDirectoryObject directoryObject in directoryObjects)
                        {
                            if (directoryObject is Group)
                            {
                                Group group = directoryObject as Group;
                                var userGroupAssignment = new UserGroupAssignmentsEntity(retrievedUser.ObjectId, group.ObjectId);
                                userGroupAssignment.UserPrincipleName = retrievedUser.UserPrincipalName;
                                userGroupAssignment.GroupName = group.DisplayName;
                                userGroupAssignmentOperation.InsertEntity(userGroupAssignment);

                            }
                            if (directoryObject is DirectoryRole)
                            {
                                DirectoryRole role = directoryObject as DirectoryRole;
                                var userAdminRoleAssignment = new UserAdminRoleAssignmentEntity(retrievedUser.ObjectId, role.ObjectId);
                                userAdminRoleAssignment.UserPrincipleName = retrievedUser.UserPrincipalName;
                                userAdminRoleAssignment.AdminRoleName = role.DisplayName;
                                userAdminRoleAssignmentOper.InsertEntity(userAdminRoleAssignment);
                            }
                        }
                        pagedCollection = pagedCollection.GetNextPageAsync().Result;
                    } while (pagedCollection != null);
                }
                catch (Exception e)
                {
                    Console.WriteLine("\nError getting user's groups and roles memberships. {0} {1}", e.Message, e.InnerException != null ? e.InnerException.Message : "");
                }
            }
        }
コード例 #2
0
ファイル: TableDal.cs プロジェクト: wstcilzm/CAT_ITALite
 public bool InsertEntity(UserAdminRoleAssignmentEntity assignment)
 {
     var operation = TableOperation.InsertOrReplace(assignment);
     _table.Execute(operation);
     return true;
 }