快速代码编辑功能

时间:2015-08-31 15:19:16

标签: tfs tfs2015

在TFS2015内部部署中,可以禁用从Web界面编辑文件的功能吗?

此功能似乎并未考虑签到政策。

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,方法是安装IIS URL Rewrite Module并添加一个重写规则,将403返回POSTs到快速编辑调用的api方法:

<rewrite>
   <rules>
     <rule name="PreventQuickEditCheckin" patternSyntax="Wildcard" stopProcessing="true">
     <match url="*" />
     <conditions>
         <add input="{URL}" pattern="/tfs/collection/_apis/tfvc/changesets" />
         <add input="{REQUEST_METHOD}" pattern="POST" />
         <add input="{HEADER_X-Requested-With}" pattern="XMLHttpRequest" />
     </conditions>
     <action type="CustomResponse" 
             statusCode="403" 
             statusReason="Forbidden: This action is not permitted." 
             statusDescription="Quick edit is currently disabled to prevent
                                checkin policies being circumvented." />
   </rule>
  </rules>
 </rewrite>

仅对具有X-Requested-With标头(由jQuery添加)的请求执行此操作的附加约束是确保此方法仅被来自TFS Web的请求阻止。

虽然我没有看到这对TFS功能的其他方面有任何影响,但我不保证这会产生意外或不希望的结果!