【发布时间】:2016-04-10 23:31:20
【问题描述】:
您好,我正在尝试使用 TFS API 创建一个新组,为此我有以下代码:
var teamProjects = this.VersionControlServer.GetAllTeamProjects(false);
foreach (var teamProject in teamProjects)
{
var result = _gss.CreateApplicationGroup(teamProject.ArtifactUri.AbsoluteUri, "NewGroup","TestDescription");
//NOW I WANT TO SET THE PERMISSIONS FOR THIS GROUP
}
由于我需要为这个组设置“编辑项目级信息”权限,我尝试了很多方法和不同的方法,但似乎任何东西都可以解决我的需求。例如:
var ProjectSecurityToken = AuthorizationSecurityConstants.ProjectSecurityPrefix + teamProject.ArtifactUri.AbsoluteUri;
var groupACL = securityNamespace.QueryAccessControlList(ProjectSecurityToken, new[] {list[4].Descriptor}, false);
securityNamespace.SetAccessControlEntry(ProjectSecurityToken, new Microsoft.TeamFoundation.Framework.Client.AccessControlEntry(list[4].Descriptor, 115, 0), true);
我硬编码了“list[4]”,因为它是我刚刚创建的组,我需要一些帮助来查看我的代码中有什么问题。我没有收到错误消息,它也不起作用。
【问题讨论】:
-
在我看来,TFSSecurity 命令行比 TFS API 更容易为服务器级、集合级或项目级组中的用户或组添加权限。您可以考虑使用 TFSSecurity 命令行:msdn.microsoft.com/Library/vs/alm/TFS/administer/command-line/…
-
TFSSecurity 工作正常!但是 API 方法要好一些。我正在寻找一种拒绝项目管理员自定义工作项的方法,有什么方法可以做到吗?