public void ChangeVaultUserInfo(User user, VaultServer server) { var accountName = GetAccountName(user); var app = MFServerUtility.ConnectToServer(server.AdminName, server.AdminPwd, MFServerUtility.GetVaultServerLocalIp(server), server.ServerPort); try { var la = MfUserUtils.GetLoginAccount(app, accountName); if (la == null) { return; } var needChange = false; if (la.FullName != user.FullName) { needChange = true; la.FullName = user.FullName; } if (la.EmailAddress != user.Email) { la.EmailAddress = user.Email; needChange = true; } if (needChange) { app.LoginAccountOperations.ModifyLoginAccount(la); } } finally { app.Disconnect(); } }
/// <summary> /// 在指定的MFiles服务器中添加登陆账户 /// </summary> /// <param name="user">用户对象</param> /// <param name="server">MFiles Server对象 </param> internal void CreateMFilesLoginAccount(User user, VaultServer server, MFLoginAccountType accountType, MFLicenseType licenseType) { var app = MFServerUtility.ConnectToServer(server.AdminName, server.AdminPwd, MFServerUtility.GetVaultServerLocalIp(server), server.ServerPort); try { var accountName = GetAccountName(user); var hasAccount = MfUserUtils.HasLoginAccount(app, accountName); if (!hasAccount) { var account = new LoginAccount(); var fullName = user.FullName; if (String.IsNullOrEmpty(fullName)) { fullName = user.UserName; } account.Set(accountType, user.Domain, user.UserName, MFLoginServerRole.MFLoginServerRoleLogIn, fullName, user.Email, licenseType); app.LoginAccountOperations.AddLoginAccount(account); } } finally { app.Disconnect(); //todo 多线程时是否对其他会话有影响 } }
public UserInfo GetUserInfo(VaultServer server, string userName) { var app = MFServerUtility.ConnectToServer(server); try { var la = MfUserUtils.GetLoginAccount(app, userName); if (la != null) { if (String.IsNullOrEmpty(la.FullName)) { la.FullName = userName; } return(new UserInfo { UserName = userName, Email = la.EmailAddress, Fullname = la.FullName }); } } catch (Exception ex) { Log.Error(String.Format("获取登录账户({0})异常:" + ex.Message, userName), ex); } finally { app.Disconnect(); } return(null); }
public void DisableVaultUser(string userName, MFilesVault vault) { var mVault = MFServerUtility.GetVault(vault); if (!HasVaultUser(userName, vault)) { Log.Error(string.Format("用户({0})不存在于vault({1}),vaultname={2},中!", userName, vault.Guid, mVault.Name)); return; } MfUserUtils.DisableVaultUser(mVault, userName); }
private string GetUsername(Vault vault, int mfUserId) { try { var user = vault.UserOperations.GetUserAccount(mfUserId); return(MfUserUtils.GetUserNameWithoutDomain(user.LoginName)); } catch { return(String.Empty); } }
public void EnableVaultUser(string userName, MFilesVault vault) { var mVault = MFServerUtility.GetVault(vault); if (!HasVaultUser(userName, vault)) { var err = string.Format("用户{0}不存在于vault{1},vaultname={2},中!", userName, vault.Guid, mVault.Name); Log.Error(err); throw new Exception(err); } MfUserUtils.EnableVaultUser(mVault, userName); }
public MfContact GetContact(MFilesVault vault, MetadataAliases aliases, string userName) { var mfVault = MFServerUtility.GetVault(vault); var userId = MfUserUtils.GetUserAccount(mfVault, userName); if (userId == null) { return(null); } var uid = userId.Value; //userid return(GetContactByUserId(mfVault, aliases, uid)); }
public int GetUserId(Vault vault, string userName) { var userid = -1; var users = vault.UserOperations.GetUserAccounts(); var un = MfUserUtils.GetUserNameWithoutDomain(userName).ToUpper(); foreach (UserAccount ua in users) { var un0 = MfUserUtils.GetUserNameWithoutDomain(ua.LoginName).ToUpper(); if (un0 == un) { userid = ua.ID; break; } } return(userid); }
private bool CheckNoticeInOneVault(Vault vault, long currentuserid) { //var currentuserid = long.Parse(User.Identity.GetUserId()); var loginName = _userService.GetUserById(currentuserid).GetAccountName(); var mfuserid = MfUserUtils.GetUserAccount(vault, loginName); Log.Info(string.Format("mfuserid:{0}", mfuserid)); var ClassNotification = vault.GetMetadataStructureItemIDByAlias(MFMetadataStructureItem.MFMetadataStructureItemClass, "ClassNotification"); var pos = vault.Name.LastIndexOf('-'); if (pos < 1) { pos = vault.Name.Length; } var tasktitle = vault.Name.Substring(0, pos); if (mfuserid != null) { var scs = new SearchConditions(); { var sc = new SearchCondition(); sc.ConditionType = MFConditionType.MFConditionTypeEqual; sc.Expression.DataPropertyValuePropertyDef = (int)MFBuiltInPropertyDef.MFBuiltInPropertyDefClass; sc.TypedValue.SetValueToLookup(new Lookup { Item = ClassNotification }); scs.Add(-1, sc); } { var sc = new SearchCondition(); sc.ConditionType = MFConditionType.MFConditionTypeEqual; sc.Expression.DataPropertyValuePropertyDef = (int)MFBuiltInPropertyDef.MFBuiltInPropertyDefAssignedTo; sc.TypedValue.SetValueToLookup(new Lookup { Item = (int)mfuserid }); scs.Add(-1, sc); } var ovs = vault.ObjectSearchOperations.SearchForObjectsByConditionsEx(scs, MFSearchFlags.MFSearchFlagNone, false, 0, 0).ObjectVersions.Count; return(ovs > 0); } return(false); }
public void RemoveUserFromGroup(MFilesVault vault, string userName, params int[] groupIds) { var ovault = MFServerUtility.GetVault(vault); var userid = -1; var users = ovault.UserOperations.GetUserAccounts(); var un = MfUserUtils.GetUserNameWithoutDomain(userName).ToUpper(); foreach (UserAccount ua in users) { var un0 = MfUserUtils.GetUserNameWithoutDomain(ua.LoginName); if (un0.ToUpper() == un) { userid = ua.ID; break; } } foreach (var groupId in groupIds) { RemoveUserFromGroupById(ovault, userid, groupId); } }
public void CreateMFilesLoginAccount(User user, VaultServer server) { var app = MFServerUtility.ConnectToServer(server.AdminName, server.AdminPwd, MFServerUtility.GetVaultServerLocalIp(server), server.ServerPort); try { var has = MfUserUtils.HasLoginAccount(app, GetAccountName(user)); if (!has) { var accType = MFLoginAccountType.MFLoginAccountTypeWindows; if (string.IsNullOrEmpty(user.Domain)) { accType = MFLoginAccountType.MFLoginAccountTypeMFiles; } CreateMFilesLoginAccount(user, app, accType, MFLicenseType.MFLicenseTypeConcurrentUserLicense); } } finally { app.Disconnect(); //todo 多线程时是否对其他会话有影响 } }
public IList <MfUser> GetMFilesLoginAccounts(VaultServer server) { var res = new List <MfUser>(); var app = MFServerUtility.ConnectToServer(server.AdminName, server.AdminPwd, MFServerUtility.GetVaultServerLocalIp(server), server.ServerPort); try { var accs = MfUserUtils.GetLoginAccounts(app); res.AddRange(accs.Select(a => new MfUser { AccountName = a.AccountName, Domain = a.DomainName, UserName = a.UserName, Email = a.EmailAddress, FullName = string.IsNullOrEmpty(a.FullName) ? a.UserName : a.FullName })); } finally { app.Disconnect(); //todo 多线程时是否对其他会话有影响 } return(res); }
public static int CreateVaultUser(Vault mVault, User user) { var loginName = GetAccountName(user); var hasAccount = MfUserUtils.HasUserAccount(mVault, loginName); if (!hasAccount) { var account = new UserAccount { LoginName = loginName, InternalUser = true, VaultRoles = MFUserAccountVaultRole.MFUserAccountVaultRoleDefaultRoles }; return(mVault.UserOperations.AddUserAccount(account).ID); } var uId = MfUserUtils.EnableVaultUser(mVault, loginName); if (uId != null) { return(uId.Value); } return(-1); }
internal ICollection <string> GetUsersInGroup(Vault ovault, int groupId) { var users = GetUsersFromGroup(ovault, groupId); return(users.Select(uid => ovault.UserOperations.GetUserAccount(uid)).Select(la => MfUserUtils.GetUserNameWithoutDomain(la.LoginName)).ToList()); }
public ICollection <string> GetUsersInGroup(MFilesVault vault, int groupId) { var ovault = MFServerUtility.GetVault(vault); var users = GetUsersFromGroup(ovault, groupId); return(users.Select(uid => ovault.UserOperations.GetUserAccount(uid)).Select(la => MfUserUtils.GetUserNameWithoutDomain(la.LoginName)).ToList()); }
public void DisableVaultUser(int userId, MFilesVault vault) { var mVault = MFServerUtility.GetVault(vault); MfUserUtils.DisableVaultUser(mVault, userId); }
public bool HasVaultUser(string userName, MFilesVault vault) { var mVault = MFServerUtility.GetVault(vault); return(MfUserUtils.HasUserAccount(mVault, userName)); }
public string GetAccountName(int userId, MFilesVault vault) { var mfVault = MFServerUtility.GetVault(vault); return(MfUserUtils.GetUserNameWithoutDomain(mfVault, userId)); }
private bool CheckTaskInOneVault(MFilesAPI.Vault vault, long currentuserid) { try { var loginName = _userService.GetUserById(currentuserid).GetAccountName(); var mfuserid = MfUserUtils.GetUserAccount(vault, loginName); //var ClassTaskApprove = // vault.GetMetadataStructureItemIDByAlias(MFMetadataStructureItem.MFMetadataStructureItemClass, // "ClassTaskApprove"); var ClassNotification = vault.GetMetadataStructureItemIDByAlias(MFMetadataStructureItem.MFMetadataStructureItemClass, MfilesAliasConfig.ClassNotification); var pos = vault.Name.LastIndexOf('-'); if (pos < 1) { pos = vault.Name.Length; } // var tasktitle = vault.Name.Substring(0, pos) + "-"; if (mfuserid != null) { //{ // var scs = new SearchConditions(); // { // var sc = new SearchCondition(); // sc.ConditionType = MFConditionType.MFConditionTypeEqual; // sc.Expression.DataPropertyValuePropertyDef = // (int) MFBuiltInPropertyDef.MFBuiltInPropertyDefClass; // sc.TypedValue.SetValueToLookup(new Lookup // { // Item = (int) MFBuiltInObjectClass.MFBuiltInObjectClassGenericAssignment // }); // scs.Add(-1, sc); // } // { // var sc = new SearchCondition(); // sc.ConditionType = MFConditionType.MFConditionTypeEqual; // sc.Expression.DataPropertyValuePropertyDef = // (int) MFBuiltInPropertyDef.MFBuiltInPropertyDefAssignedTo; // sc.TypedValue.SetValueToLookup(new Lookup {Item = (int) mfuserid}); // scs.Add(-1, sc); // } // var ovs = vault.ObjectSearchOperations.SearchForObjectsByConditionsEx(scs, // MFSearchFlags.MFSearchFlagNone, false, 0, 0).ObjectVersions.Count; // if (ovs > 0) return true; //} { var scs = new SearchConditions(); { var sc = new SearchCondition(); sc.ConditionType = MFConditionType.MFConditionTypeNotEqual; sc.Expression.DataPropertyValuePropertyDef = (int)MFBuiltInPropertyDef.MFBuiltInPropertyDefClass; sc.TypedValue.SetValueToLookup(new Lookup { Item = ClassNotification }); scs.Add(-1, sc); } { var sc = new SearchCondition(); sc.ConditionType = MFConditionType.MFConditionTypeEqual; sc.Expression.DataPropertyValuePropertyDef = (int)MFBuiltInPropertyDef.MFBuiltInPropertyDefAssignedTo; sc.TypedValue.SetValueToLookup(new Lookup { Item = (int)mfuserid }); scs.Add(-1, sc); } var ovs = vault.ObjectSearchOperations.SearchForObjectsByConditionsEx(scs, MFSearchFlags.MFSearchFlagNone, false, 0, 0).ObjectVersions.Count; if (ovs > 0) { return(true); } } // { ////工作流任务 // var scs = new SearchConditions(); // { // var sc = new SearchCondition(); // sc.ConditionType = MFConditionType.MFConditionTypeNotEqual; // sc.Expression.SetStatusValueExpression(MFStatusType.MFStatusTypeObjectTypeID); // sc.TypedValue.SetValueToLookup(new Lookup // { // Item = (int) MFBuiltInObjectType.MFBuiltInObjectTypeAssignment // }); // scs.Add(-1, sc); // } // { // var sc = new SearchCondition(); // sc.ConditionType = MFConditionType.MFConditionTypeEqual; // sc.Expression.DataPropertyValuePropertyDef = // (int) MFBuiltInPropertyDef.MFBuiltInPropertyDefAssignedTo; // sc.TypedValue.SetValueToLookup(new Lookup {Item = (int) mfuserid}); // scs.Add(-1, sc); // } // var ovs = vault.ObjectSearchOperations.SearchForObjectsByConditionsEx(scs, // MFSearchFlags.MFSearchFlagNone, false, 0, 0).ObjectVersions.Count; // if (ovs > 0) return true; // } } } catch (Exception ex) { Log.Info(string.Format("CheckTaskInOneVault {0},{1} error:{2}", vault.Name, currentuserid, ex.Message)); } return(false); }
public int?GetUserId(string userName, MFilesVault vault) { var mfVault = MFServerUtility.GetVault(vault); return(MfUserUtils.GetUserAccount(mfVault, userName)); }
public bool HasVaultUser(int userId, MFilesVault vault) { var mVault = MFServerUtility.GetVault(vault); return(MfUserUtils.HasUserAccount(mVault, userId)); }