我使用VSTS REST API使用PATCH请求将附件上传到工作项,并且它很好。现在,如果我使用同一团队项目中的其他用户从工作项目访问附件,则表示未授权读取权限。
{"$id":"1","innerException":null,"message":"VS402330: Unauthorized Read access to the attachment under the areas ","typeName":"Microsoft.TeamFoundation.WorkItemTracking.Server.WorkItemUnauthorizedAttachmentException, Microsoft.TeamFoundation.WorkItemTracking.Server","typeKey":"WorkItemUnauthorizedAttachmentException","errorCode":0,"eventId":3200}
注意:我使用的其他用户是在默认域中的Azure AD中创建的 - 即 - user.account@xyz.onmicrosoft.com
以下是Repro步骤:
Prerequsites
Repro步骤:
使用C# Client Libraries here上传附件到VSTS;要上传,我们需要使用某种形式的身份验证;该项目使用VssCredentials,它使用CredentialCache.DefaultCredentials。我尝试过这个以及可以为vsts用户安全区域中的任何用户创建的个人访问令牌。
成功上传后,API会返回参考网址。获取网址;
将网址粘贴到浏览器中,然后尝试使用与上传文件相同的帐户获取该文件;该文件应该成功显示/下载。
从vsts注销并以在prerequs中创建的其他用户之一登录。
将附件网址粘贴到浏览器中并尝试重新获取该文件;
它不会下载文件,而是会引发未经授权的读取访问。
{
"$id": "1",
"innerException": null,
"message": "VS402330: Unauthorized Read access to the attachment under the areas ",
"typeName": "Microsoft.TeamFoundation.WorkItemTracking.Server.WorkItemUnauthorizedAttachmentException, Microsoft.TeamFoundation.WorkItemTracking.Server",
"typeKey": "WorkItemUnauthorizedAttachmentException",
"errorCode": 0,
"eventId": 3200
}
答案 0 :(得分:0)
我可以在上传用户将附件与工作项关联之前重现此问题。您可以投票和关注反馈:VSTS REST API upload attachment file issue。
解决方法是您可以将附件与工作项相关联,然后其他人可以访问它们。