通过API找出Autodesk Vault中某个用户组可以访问的Vault
2024-08-24 12:40:50
首先在Vault Explorer中可以这样查看和更改某个用户组有权访问的vault
Tools –> Administration –> Global Settings –> Groups… 打开用户组管理对话框, 双击某个组,点“Vaults…” 按钮即可查看和编辑这个组所能访问的vault。
现在通过API来实现,没啥说的,直接上代码:
using Autodesk.Connectivity.Explorer.Extensibility;
using Autodesk.Connectivity.WebServices;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using VDF = Autodesk.DataManagement.Client.Framework;
namespace HelloWorldVaultExplorer
{
public class ListUserGroupVaults : IExplorerExtension
{
public IEnumerable<CommandSite> CommandSites()
{
CommandItem listGrougVaultsCmdItem = new CommandItem("HelloWorldVaultExplorer.ListUserGroupVaultsCmd",
"List Group Vaults - Daniel");
listGrougVaultsCmdItem.Execute += listGrougVaultsItem_Execute;
CommandSite toolsMenuSite = new CommandSite("ListUserGroupVaultsCmd.Toolbar",
"List Group Vaults Menu- Daniel");
toolsMenuSite.Location = CommandSiteLocation.ToolsMenu;
toolsMenuSite.AddCommand(listGrougVaultsCmdItem);
List<CommandSite> sites = new List<CommandSite>();
sites.Add(toolsMenuSite);
return sites;
}
void listGrougVaultsItem_Execute(object sender, CommandItemEventArgs e)
{
try
{
//using VDF = Autodesk.DataManagement.Client.Framework
VDF.Vault.Currency.Connections.Connection connection =
e.Context.Application.Connection;
string msg = "";
Group[] groups = connection.WebServiceManager.AdminService.GetAllGroups();
foreach (var group in groups)
{
GroupInfo grpInfo = connection.WebServiceManager.AdminService
.GetGroupInfoByGroupId(group.Id);
msg += grpInfo.Group.Name + "\n";
msg += "Group accessable vaults : \n";
if (grpInfo.Vaults == null)
{
msg += " this group has no accessable vaults. \n";
continue;
}
foreach (var vault in grpInfo.Vaults)
{
msg += vault.Id + ": " + vault.Name + "\n";
}
}
MessageBox.Show(msg);
}
catch (Exception ex)
{
// If something goes wrong, we don't want the exception to bubble up to Vault Explorer.
MessageBox.Show("Error: " + ex.Message);
}
}
}
}
结果:
最新文章
- 解决服务器每次都要输入Enter PEM pass phrase
- Android课程---第一课
- c# 压缩文件
- 数据结构Java实现03----单向链表的插入和删除
- PHP程序员必须清楚的问题汇总
- HAML学习
- MySQL 5.6 警告信息 command line interface can be insecure 修复
- javascript加速运动
- Awesome-awesome-awesome
- mha 自动failover 原创
- Oracle开发专题之:%TYPE 和 %ROWTYPE
- Migration of ASP.NET app from IIS6 to IIS7 (7.5)
- C++智能指针--weak_ptr
- yum简介(转)
- Safari WebApp 模拟 原声APP禁止打开新窗口JS代码
- 关于flex布局【转】
- [LeetCode] Clone Graph 克隆无向图
- Java正则表达式草稿程序*2
- IO流总结笔记三
- flash builder的配色方案