TFS 2013 丢失“查看集合级信息”权限导致无法访问集合安全管理页面
TFS 2013 丢失“查看集合级信息”权限导致无法访问集合安全管理页面
别慌,这种误操作锁死权限的情况我碰过好多次,给你几个实用的解决办法,按步骤来基本都能搞定:
方法一:用TFS命令行工具恢复权限
这是最常用也最稳妥的方式,命令行不受Web界面的权限限制,只要你能拿到服务器的管理员权限或者本地管理员权限:
- 先找到TFS 2013对应的命令行工具
tf.exe,一般路径是C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE - 右键以管理员身份打开命令提示符,用
cd命令切换到上面的路径 - 执行下面的命令(记得替换成你自己的服务器地址、集合名称和组名):
tf security /collection:http://你的TFS服务器地址:8080/tfs/你的集合名称 /group:"你的组名" /permission:VIEWCOLLECTIONINFO /allow - 这条命令的作用就是给指定的组重新开启「查看集合级信息」的权限,执行成功后关闭浏览器重新打开TFS页面试试。
方法二:找TFS服务器管理员通过管理控制台修复
如果自己没服务器权限,那就找公司里管TFS服务器的管理员帮忙:
- 让管理员登录到TFS应用层服务器,打开「Team Foundation Server管理控制台」
- 展开左侧的「应用层」,选择「团队项目集合」,找到你出问题的那个集合
- 右键点击集合,选择「安全」选项
- 在弹出的安全窗口里找到你的组,勾选「查看集合级信息」对应的「允许」权限,保存设置就行。
方法三:通过数据库修改(谨慎操作!)
如果前两种方法都走不通,才考虑用这个办法,一定要先备份数据库再操作:
- 先备份TFS的配置数据库(一般叫
TFS_Configuration)和对应集合的数据库 - 打开SQL Server Management Studio,连接到TFS的数据库服务器
- 在
TFS_Configuration库的tbl_Identity表中,找到你的组对应的IdentityId - 切换到集合数据库,在
tbl_Permission表中找到IdentityId匹配、且PermissionId为VIEW_COLLECTION_INFORMATION的记录,把Allow字段改成1,Deny字段改成0 - 操作完成后重启TFS服务,再打开Web页面验证。
备注:内容来源于stack exchange,提问作者Rob None
相关产品推荐
相关产品推荐

