搞了几天的TFS2010权限的设置,学习了这些与大家分享下:

1、TFS权限介绍

Team Foundation Server 权限设置分为显式授权和隐式授权,显示授权是设置:“拒绝”和“允许”。 隐式授权,它既不将权限设置为“允许”,也不将权限设置为“拒绝”。 此授权是一种隐式“拒绝”设置,又称为“未设置”。

2、权限设置要理解的4个重要概念

2.1 拒绝

“拒绝”不允许授权用户或组执行权限说明中提到的操作。“拒绝”是TFS中最强大的权限设置。 如果用户所属的TFS组将特定权限设置为“拒绝”,那么即使用户所属的另一个组将该权限设置为“允许”,该用户仍无法执行该功能。 此规则的唯一例外是用户属于项目的“Project Administrators (项目管理员)”组的、团队项目集合的“Project Collection Administrators”组或Team Foundation Administrators”组。 如果用户属于项目的 Project Administrators 组,则该组的权限会覆盖该用户在项目中的显式“拒绝”。 同样,如果用户属于项目的 Project Collection Administrators 组,则该组的权限会覆盖该用户在该集合中的显式“拒绝”。 如果用户属于 Team Foundation Administrators 组,则该组的权限会覆盖该用户在 Team Foundation Server 中的显式“拒绝”。

2.2 允许

“允许”则允许授权用户或组执行权限说明中提到的操作。 “允许”是 TFS中第二强大的权限设置,最常使用。 如果不将权限显式设置为“允许”,用户或组将不能在TFS中执行该操作。

2.3 未设置

默认情况下,TFS中的多数权限既没有设置为“拒绝”,也没有设置为“允许”。 权限处于“未设置”状态,它隐式拒绝授权用户和组执行权限说明中指定的操作。 但是,因为权限既没有显式设置为“拒绝”,也没有显式设置为“允许”,它可以从用户或组所属的其他组继承授权。

ps:默认新建活新添加的用户对于权限的操作都是“未设置”。

2.4 继承

当用户或组的权限为“未设置”时,由于TFS中的权限是可继承的,所以用户或组可能受到其所属组权限的显式设置的影响。 例如,用户可能属于一个项目中的两个自定义组。 如果其中一个组的某个权限显式设置为“拒绝”,另一个组的同一权限未设置,则该用户将无权执行此权限所控制的操作。 该用户从两个组中继承权限,“拒绝”权限优先于未设置的权限。

ps: 某些授权设置优先于其他授权设置。 在 TFS 中,“拒绝”权限优先于包括“允许”在内的所有其他权限设置(对于该显式结构)。 如果“拒绝”权限是从层次结构父元素(如版本控制)继承的,则不优先。 例如,用户可能属于一个项目中的两个组。 对于其中一个组,“发布测试结果”权限设置为“拒绝”;而另一个组则将该权限设置为“允许”。 “拒绝”设置优先级更高,用户无权发布测试结果。规则的唯一例外是从层次结构父元素继承显式“拒绝”或者用户属于下列组之一:

Project Administrators  Project Collection Administrators  Team Foundation Administrators

在层次结构(如版本控制和工作项跟踪)中,在特定对象上设置的显式权限会覆盖从父对象继承的显式权限

ps:在正式授权设置之前可阅读msdn资料:Team Foundation Server 默认组、权限和角色。

3、版本控制权限:

默认情况下,下列各组处于版本控制级别:(多于两个单词的组名称全部简写。示例:Team Foundation 全部简写为TF,Team Foundation Server 简写为TFS,ProjectName简写为PN, Project Administrator 简写为PA,Team Foundation Administrator 简写为TFA,Team Project Collection Name 简写为TPCN以此类推为组英文名称的每个首字母大写组合)

项目级别: PN/PA PN/Contributors PN/Readers PN/Builders

项目集合级别:TPCN/PCA TPCN/PCSA TPCN/PCBSA

自定义的项目集合组,或者项目可以赋予想要的版本控制权限。

版本控制权限表

TFS2010 团队项目集合级别权限下,新建一个组1,并为自定义的组1设置版本控制权限,和团队项目级别权限下新建一个组2,并为自定义的组2设置版本控制权限和安全性的项目级别权限,然后将组1加入组2中,那么两个不同级别组1和组2的版本控制权限谁的优先级高?

这个问题是我提出的,我实践测试结果:

遵循微软的权限设置策略,拒绝权限最高,下来是允许权限,最后是未设置。举例可以这样分析,为组1设置“锁定”权限为“允许”,这样组1中的所有用户都具有“锁定”的权限,将组1(团队项目集合级别的组)加入组2(团队项目级别的组),为组2设置版本控制权限,假如“锁定”权限设为“允许”,那么组一种的所有用户都具有锁定权限,假如将组2中的“锁定”权限设置为“拒绝”那么组1中的所有用户就失去了锁定的权限,假如将组2的“锁定”权限设置为“未设置”,那么组1的用户还是具有锁定的权限。(以上说明被各种管理员组的成员的权限覆盖掉了),还有一种情况是假如开始组1中的“锁定”权限就设置为“拒绝”,组1加入组2之后,组2的“锁定”权限设置为“允许”,组1中的用户还是会具有锁定权限。我理解的是一种就近原则吧!至少还没有碰见不符合这个的。如果有人打破这条麻烦告诉我一声。

这个前提是组2的团队项目级别“安全性”里项目权限要将“查看项目级别信息”设为“允许”。

利用vs2010与具有管理员权限的账户在客户端设置团队项目用户版本控制权限

打开vs2010直接点击— 链接到Team Foundation Server 或者在“团队”—— 链接到Team Foundation Server

ps:在团队菜单下可以进行多个操作。

“链接到Team Foundation Server 服务器 ”后 ,团队资源管理器会自动打开。然后进行你想要的设置。

ps:双击团队资源管理器下的树形菜单中的“源代码管理”,可打开“源代码资源管理器”

团队资源管理器

团队项目集合节点

团队项目集合设置---组成员资格 这一栏下可添加自定义的组,并添加成员,新建的组默认属于Project Collection Valid Users

团队项目集合设置---安全性 这一栏设置对团队项目集合的权限,默认属于Project Collection Valid Users这个组的具有访问项目集合的权限。

团队项目节点

团队项目设置---组成员资格 这一栏可添加自定义组,并添加成员,新建的组默认属于Project Collection Valid Users。

团队项目设置---安全性 这一栏设置对团队项目的权限,添加自定义的组并设置对于当前团队项目的权限,然后自定义组的成员就可以依照响应权限访问到当前项目。一般仅仅赋予“查看项目级别信息”就可访问到项目。

源代码管理资源管理器

团队项目集合节点

属性---安全性 这一栏可添加、设置自定义组对团队项目集合下的团队项目的项目源代码的操作权限。(这一步的设置针对的是团队项目集合设置——组成员资格下添加的自定义组的权限,对于团队项目集合下的团队项目,只要将设置好的组加入就可适用。)

团队项目节点

属性--安全性 这一栏可添加、设置自定义组对团队项目集合下的团队项目的项目源代码的操作权限。(这一步的设置针对项目团队项目设置——组成成员资格下添加的自定义组的权限,适用于当前项目。)

重要:

源代码管理中,对于团队项目集合级别的组,要适用于某一个团队项目集合下的项目,需要将这个组加入需要适用的团队项目下“团队项目设置”中添加的赋予了访问或者更高级别团队项目权限的自定义组。当然也可以不用新建将其加入默认组。

默认属于Project Collection Valid Users组的组或者用户具有访问TFS服务器下的团队项目集合的权限。

tfs管理java代码_TFS2010 版本控制权限设置相关推荐

  1. tfs管理java代码_使用Intellij Idea连接Team Foundation Server (TFS)实现代码版本管理

    Intellij Idea是一个Java项目开发工具,支持Windows,MAC OS和Linux的跨平台开发环境,具备良好和智能的用户界面,在欧洲市场拥有很多粉丝.https://www.jetbr ...

  2. java访问glusterfs_GlusterFS: 访问权限设置

    GlusterFS: 访问权限设置 GlusterFS支持基于POSIX Access Control Lists的访问权限设置,在Ubuntu或者类似的系统上,只需要使用setfacl或getfac ...

  3. 运动会成绩管理java代码_基于jsp的运动会成绩管理-JavaEE实现运动会成绩管理 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的运动会成绩管理, 该项目可用各类java课程设计大作业中, 运动会成绩管理的系统架构分为前后台两部分, 最终实现在 ...

  4. IDEA java 代码注释的一些设置

    首先 注释的分类 /*** @description: 这一块是文档注释* @email: 2996139769@qq.com* @date: 2022/6/10 17:56*/@Overridepu ...

  5. java对mysql读写权限设置_Java学习笔记——MySQL开放3306接口与设置用户权限

    系统Ubuntu16.04 LTS 1.开放3306端口 查看端口状态: netstat -an|grep 3306 tcp        0      0 127.0.0.1:3306        ...

  6. es中java代码高亮显示_ElasticSearch如何设置返回结果关键词高亮显示-Fun言

    前言 类似于百度等搜索引擎,我们的搜索词都会在搜索结果中显示红色或其他高亮颜色,这就叫高亮显示,ElasticSearch同样也是支持这个功能的,下面我们就看一下如何用es实现搜索结果的高亮显示 教程 ...

  7. java word 纸张大小_Java 设置 Word 页边距, 页面大小, 页面方向, 页面边框

    Java 设置 Word 页边距, 页面大小, 页面方向, 页面边框 本文将通过 Java 示例介绍如何设置 Word 页边距 (包括上, 下, 左, 右), 页面大小 (可设置 Letter/A3/ ...

  8. java登录ssh没有权限管理_ssh2--login 是Java的权限管理系统,有完整的程序及代码,很全面的概括了 的功能。 Develop 238万源代码下载- www.pudn.com...

    文件名称: ssh2--login下载 收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 9083 KB 上传时间: 2013-03-18 下载次数: 105 提 供 者 ...

  9. java用户权限管理与权限设置(二)

    实现业务系统中的用户权限管理--实现篇 在设计篇中,我们已经为大家阐述了有关权限管理系统的数据库设计,在本篇中,我们将重点放在其实现代码部分.为了让你能够更直接更有效的看到全部动作的代码,我们使用&q ...

  10. java linux 权限管理_权限管理java实现(源于Linux中的权限管理算法)

    这个帖子由来已久吧,我也是到处搜到的,然后仔细学习,果然博大精深,然后加强点弄点自己的东西 我已声明 部分转载!! 向大家介绍一种很不错,也是Linux中的权限管理算法. 定义a^b为:a的b次方 假 ...

最新文章

  1. 最新linux面试题
  2. 原始jdbc操作的分析
  3. 软件测试bug文档模板,软件bug测试记录模板
  4. java spring注入 静态方法_java相关:spring为类的静态属性实现注入实例方法
  5. PHP 如何判断当前用户已在别处登录
  6. 25 PP模块-创建工厂日历报错-请输入年度xxxx和xxxx之间的有效区域
  7. Struts2的struts.xml的配置细节
  8. 希尔排序的详细过程_算法系列: 10大常见排序算法(4)希尔排序
  9. python多元回归 导出参数统计结果_如何从统计模型中WLS回归的二维参数得到检验的预测...
  10. dd-wrt 定时重连 pppoe 更换ip地址
  11. 飞信php接口 web service
  12. python基础之列表、元组
  13. 人工智能系列之一人工智能基本流程
  14. ISCW实验11:使用SDM配置Site-to-Site IPSec ×××
  15. vue 使用 vue-awesome-swiper(swiper)解决方法
  16. java画哆啦A梦_java绘制哆啦A梦 超可爱
  17. Failed to start component [Connector[HTTP/1.1-20001]]报错
  18. [USACO10HOL]赶小猪
  19. 关于找工作---职业规划[转]
  20. 使用计算机室刷卡上机,浅析高校计算机实验室综合信息管理系统

热门文章

  1. 2008年上半年程序员考试上午真题自我汇总
  2. yylabel html富文本,YYLabel计算富文本高度-膜拜大神
  3. K均值算法(K-means)
  4. matlab中各种数据类型及转换
  5. java class文件比较_Beyound Compare中比较java字节码class文件
  6. 教你怎么录制电脑内部发出的声音
  7. Shader序列帧动画——UnityShader学习笔记复习
  8. 通俗易懂物联网(11):物联网解决方案设计
  9. 西门子PLC与安川变频器Modbus通信
  10. 安装新版的winetricks_winetricks中文修改版(wine模拟器)