private bool CheckUser() { IEdmUserMgr7 userMgr = default(IEdmUserMgr7); userMgr = (IEdmUserMgr7)vault7.CreateUtility(EdmUtility.EdmUtil_UserMgr); string userName = System.Environment.UserName; List <string> usersGroups = new List <string>(); IEdmUser8 CurrentUser = (IEdmUser8)userMgr.GetUser(userName); object[] groups = default(object[]); CurrentUser.GetGroupMemberships(out groups); string message = "Current users: " + userName + "\n Does not have permission to use this tool"; foreach (object g in groups) { IEdmUserGroup7 group = (IEdmUserGroup7)g; usersGroups.Add(group.Name); } if (!usersGroups.Contains("engineer")) { MessageBox.Show(message); return(false); } return(true); }
//获取用户列表 public static DataTable GetUserList() { DataTable dt = new DataTable(); if (dt.Columns.Count == 0) { dt.Columns.Add("UserName"); dt.Columns.Add("UserID"); dt.Columns.Add("IsLoggedIn"); dt.Columns.Add("Vault"); dt.Columns.Add("FullName"); dt.Columns.Add("UserData"); dt.Columns.Add("Initials"); dt.Columns.Add("ObjectType"); dt.Columns.Add("Email"); } DataRow dr = null; IEdmVault5 vault = new EdmVault5(); try { vault.Login(LogName, PWD, VaultName); } catch (Exception e) { MessageBox.Show(e.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return(null); } IEdmUserMgr5 UserMgr = default(IEdmUserMgr5); UserMgr = (IEdmUserMgr5)vault; IEdmPos5 UserPos = default(IEdmPos5); UserPos = UserMgr.GetFirstUserPosition(); while (!UserPos.IsNull) { dr = dt.NewRow(); IEdmUser5 user5 = UserMgr.GetNextUser(UserPos); IEdmUser6 user6 = (IEdmUser6)user5; IEdmUser7 user7 = (IEdmUser7)user5; IEdmUser8 user8 = (IEdmUser8)user5; IEdmUser9 user9 = (IEdmUser9)user5; IEdmUser10 user10 = (IEdmUser10)user5; dr["UserName"] = user5.Name; dr["UserID"] = user5.ID; dr["IsLoggedIn"] = user5.IsLoggedIn; dr["Vault"] = user5.Vault.Name; dr["FullName"] = user6.FullName; dr["UserData"] = user6.UserData; dr["Initials"] = user6.Initials; dr["ObjectType"] = user6.ObjectType; dr["Email"] = user10.Email; dt.Rows.Add(dr); } return(dt); }