版本控制三(权限控制与GUI)

Subversion的版本库conf目录下有三个文件:svnserve.conf、passwd和authz,svnserve.conf文件中定义了所有的认证和授权政策:

anon-access

指明仓库匿名用户访问的权限,可选值(none:不能访问;read:匿名可读;write:匿名可写),一般设置为none,避免匿名访问,除非你的项目为开源项目。

auth-access

指明被授权通过的用户的权限,可选值同上。

password-db

指定了被授权用户的用户名及密码的文件,可以在passwd 文件中设置用户名与密码。

authz-db

实现了以路径为基础的授权,也就是判断用户是否有操作对应路径的权限,在Subversion 1.3 之后,svnserve 和Apache 一样都可以使用“authz-db”文件。

如果权限保护目录为中文,则必须将authz文件利用ultraedit工具转存为UTF-8 无BOM 格式,否则权限不生效!

passwd文件里面存放的是项目成员帐户信息,默认在[users]下有两个被注释了的用户信息,可通过去掉注释或自己增加一行用户信息。例如:

zhang = ao (前面是用户名,后面是密码)

authz文件主要是做复杂的群组权限控制,假设有一个用户组叫users,有一个用户zhang:

[groups]
users = zhang

给指定的用户指定的url(这里假定为:firstsvn)分配权限,在以上用户组的基础上:

[firstsvn:/]
@users = rw

url后面一个要有一个"/",后面可以跟子目录比如:

[firstsvn:/tools]

[/] 表示整个仓库的根,如果是组的引用一定要使用 @ ,对应的权限可以是 r,w,rw 或空.

也可以给单个用户分配权限,或者给指定的用户以外的用户分配权限:

[firstsvn:/]
user1 = rw
* = r

这就表示user1有对firstsvn仓库的读写权限,对子目录有继承性,其他用户只有读的权限.

将权限相关的几个注释解除之后,操作就需要密码了:



恩.有人喜欢在命令行下工作,大多数的人喜欢在GUI的辅助下进行更快速的使用.通常使用Tortoisesvn.

TortoiseSVN是Subversion版本控制系统的一个免费开源客户端,不需要为使用它而付费。它也是 Subversion 的 Windows 扩展。它使你避免接触 Subversion 枯燥而且不方便的 Command Line。它完全嵌入 Windows Explorer,使用时只需在正常的窗口里右键操作就可以了。

Tortoisesvn下载安装:http://tortoisesvn.net/downloads.操作界面如下:

TortoiseSVN用多种图标的显示来标注本地文件的状态:

Tortoisesvn 图标介绍:

当我们checkout的时候,只需要右键选择"SVN Checkout …":

提供正确的url和目的地后,OK后如果有权限,则需要输入:

命令行的功能都能够实现.Subversion还提供版本对比、分支合并等功能.

.svn这个隐藏目录记录着两项关键的信息: 工作文件的基准版本和一个本地副本最后更新的时间戳。千万不要手工修改或删除这个 .svn隐藏目录和里面的文件!!!否则将会导致你本地的工作拷贝 (静态视图)被破坏,无法再进行操作。

时间: 2024-11-09 03:49:30

版本控制三(权限控制与GUI)的相关文章

系统中做权限控制的三种方法各有什么优缺点?

问题描述 权限控制可以用Filter,可以用struts的pRequestProcessor,还可以用spring的AOP,但是他们各自的优缺点是什么呢? 解决方案 以下是本人的认识与理解,仅供参考! Filter: 优点 1 低耦合!权限管理模块与其他模块相对独立性较高. 2 工作任务相对小一点 缺点 技术性要求较高,易产生安全Bug其它:Struts的拦截器,spring的aop 优点:不易产生安全上的问题. 缺点:1 不用模式设计,会有大量的工作要做.每个要权限处理的类,要事先预留接口.

yii权限控制的方法(三种方法)_php实例

本文实例讲述了yii权限控制的方法.分享给大家供大家参考,具体如下: 这里摘录以下3种: 1. 通过accessControl: public function filters() { return array( 'accessControl', // perform access control for CRUD operations ); } /** * Specifies the access control rules. * This method is used by the 'acc

.NET平台下带权限控制的TreeView控件节点生成算法

treeview|控件|控制|算法 一.引言 在应用系统开发中,TreeView是一种使用频率很高的控件.它的主要特点是能够比较清晰地实现分类.导航.浏览等功能.因而,它的使用方法与编程技巧也一直受到技术人员的关注.随着应用需求的变化,在很多情况下我们需要实现数据显示的权限控制,即用户看到的数据是经过过滤的,或是连续值,或是一些离散的值.就TreeView而言,原先可能显示出来的是完整的具有严格父子关系得节点集,而经权限过滤后所要显示的节点可能会变得离散,不再有完整的继承关系.本文针对这一问题,

Acegi + Spring + Hibernate + Struts 2搭建基于角色的权限控制

安全永远是WEB应用系统必须面对的头等大事, 也是最头疼的事, 其实安全系统就只包括两个问题: 认证和授权. 以前做些网站系统, 安全检测逻辑都在放在须要安全控制的代码前面, 这样做有很多不好的地方, 重复多次的编码就不用说了, 代码移植性, 重用性都得不到体现, 安全检测逻辑要永远和业务逻辑放在一起. 那么, 能不能够在进入方法前就调用一些安全检测? 其实Spring AOP就是这个思想, 那么又如何实现安全检测呢? Spring Acegi Security 框架就是做这个事情. 本文主要是

ASP.NET对HTML页面元素进行权限控制(一)

  界面每个元素的权限也是需要控制的.比如一个查询用户的界面里面有查询用户按钮,添加用户按钮,删除用户按钮,不同的角色我们得分配不同的权限 一个HTML页面有很多的元素比如 , 等.这些元素构成了HTML页面.在Web开发中权限控制是每个系统都要用到了.界面每个元素的权限也是需要控制的.比如一个查询用户的界面里面有查询用户按钮,添加用户按钮,删除用户按钮,不同的角色我们得分配不同的权限,比如一般用户只有查询用户按钮的权限;管理员有添加用户按钮,查询用户按钮的权限;超级管理员查询用户按钮,添加用户

Swift中的Access Control权限控制介绍

  这篇文章主要介绍了Swift中的Access Control权限控制介绍,本文讲解了private.internal.public三个关键字的使用,需要的朋友可以参考下 如果您之前没有接触过权限控制,先来听一个小故事: 小明是五道口工业学院的一个大一新生,最近他有点烦恼,因为同屋经常用他的热水壶,好像那是自己家的一样,可是碍于同学情面,又不好意思说.直到有一天,他和学姐小K吐槽. 学姐听了之后,说:大学集体生活里面,大部分东西都是默认室友可以共用的.如果你不想别人拿,我可以帮你做封印,只要打

[WCF权限控制]模拟(Impersonation)与委托(Delegation)[上篇]

由于服务操作是在寄宿进程中执行,在默认的情况下,服务操作是否具有足够的权限访问某个资源(比如文件)决定于执行寄宿进程Windows帐号的权限设置,而与作为客户端的Windows帐号无关.在有多情况下,我们希望服务操作执行在基于客户端的安全上下文中执行,以解决执行服务进行的帐号权限不足的问题.这就涉及到一个重要的话题--模拟(Impersonation)与委托(Delegation)[实例程序源代码从这里下载] 目录: 一.从访问令牌(Access Token)说起 二.再谈WindowsIden

小米,华为等系统定制的android权限控制问题

问题描述 小米,华为等系统定制的android权限控制问题 现在在开发应用,发现小米,华为等机型在权限管理里面可以控制我应用的定位权限 ,有允许,询问和禁止三种选择,我想知道怎么判断用户在小米等系统的权限管理那 选的是那三种的哪种. 解决方案 个人觉得,程序里面只能做到 定位调用是成功还是失败,而且你也只要知道这2种结果就够了呀

Spring Boot 之 RESRful API 权限控制

一.为何用RESTful API 1.1 RESTful是什么? RESTful(Representational State Transfer)架构风格,是一个Web自身的架构风格,底层主要基于HTTP协议(ps:提出者就是HTTP协议的作者),是分布式应用架构的伟大实践理论.RESTful架构是无状态的,表现为请求-响应的形式,有别于基于Bower的SessionId不同.   1.2理解REST有五点: 1.资源  2.资源的表述  3.状态的转移  4.统一接口  5.超文本驱动 需要理