首先在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);
            }

        }



    }
}

结果:

最新文章

  1. 解决服务器每次都要输入Enter PEM pass phrase
  2. Android课程---第一课
  3. c# 压缩文件
  4. 数据结构Java实现03----单向链表的插入和删除
  5. PHP程序员必须清楚的问题汇总
  6. HAML学习
  7. MySQL 5.6 警告信息 command line interface can be insecure 修复
  8. javascript加速运动
  9. Awesome-awesome-awesome
  10. mha 自动failover 原创
  11. Oracle开发专题之:%TYPE 和 %ROWTYPE
  12. Migration of ASP.NET app from IIS6 to IIS7 (7.5)
  13. C++智能指针--weak_ptr
  14. yum简介(转)
  15. Safari WebApp 模拟 原声APP禁止打开新窗口JS代码
  16. 关于flex布局【转】
  17. [LeetCode] Clone Graph 克隆无向图
  18. Java正则表达式草稿程序*2
  19. IO流总结笔记三
  20. flash builder的配色方案

热门文章

  1. [Basic] The most basic things about java
  2. SQL常用数据库结构升级语句
  3. WPF依赖属性详解
  4. 16个时髦的扁平化设计的 HTML5 &amp; CSS3 网站模板
  5. 百度地图与HT for Web结合的GIS网络拓扑应用
  6. win10系统下点击关机却自动重启的问题解决思路
  7. Windows Server 2008 R2 负载平衡入门篇
  8. jquery练习
  9. TSwitch 中文简繁显示支持(XE6 Android)
  10. Servlet与多线程与IO操作