首页 > 其他分享 >Subversion权限文件AuthzSVNAccessFile示例[摘]

Subversion权限文件AuthzSVNAccessFile示例[摘]

时间:2023-09-04 16:36:30浏览次数:40  
标签:domain repository 示例 SSPI AuthzSVNAccessFile Subversion test txt


Subversion权限文件AuthzSVNAccessFile示例


选择自 digitking 的 Blog 

 在使用Subversion时,认证文件AuthzSVNAccessFile能控制每一个目录的权限,但讲解的文档较少,中文文档更少。下面通过实例讲解使用方法。

环境Windows 2003 Server,局域网,域:domain.com.cn
Apache 2.0.52
Subversion 1.1.0
TortoiseSVN 1.1.0
LanguagePack_1.1.0_zh_CN

例子:
Repository存放在D:/repository下,有两个repository: test and xtest
每个repostory 的结构相同:
  根:01.txt
      02.txt
  folder 1-: 11.txt
  12.txt
  folder 2-: 21.txt
    22.txt
对目录1和2作不同的读写权限控制
Basic Authentication

修改文件:
Httpd.conf:
#Basic authentication
<Location /repository>
  DAV svn
  SVNParentPath d:/repository
  AuthzSVNAccessFile d:/repository/accessfile                
  Require valid-user
  AuthType Basic
  AuthName "身份验证"
  AuthUserFile d:/repository/passwd                 
</Location>

用Apache的htpasswd生成用户名和密码,
Htpasswd –c passwd username
第二次不用 –c。
生成的用户名和密码在passwd中:
0:$apr1$Vu5.....$XZ/csz/2YKoPNKpb88O5p0
1:$apr1$vu5.....$I1VwMJ7JtRmpmJjVUlT4h1
2:$apr1$Dv5.....$vf2MTg/p0mY.WcFhx7wET1
3:$apr1$Tv5.....$gfk4AiP49h0JjKN8BuJdB.

AuthzSVNAccessFile控制每个目录的读写权限
[test:/]
1 = r
2 = r
3 = r
[test:/1]
1 = rw
[test:/2]
2 = rw

在客户端,用http://server/repository/test可以访问。也可以直接进入子目录访问:http://server/repository/test/1,http://server/repository/test/2。系统会要求进行认证。例如用户1对目录1有读写权限,可以commit修改,但对目录2所作的修改就不能commit。

SSPI认证。
按上一种方式,用户更换一次密码,就必须修改一次密码文件。用SSPI认证则可以没有这个问题。
Httpd.conf文件:

#SSPI authentication
<Location /repository>
  DAV svn
  SVNParentPath d:/repository
  AuthzSVNAccessFile d:/repository/accessfilesspi                
  Require valid-user
  AuthType SSPI 
  AuthName "Subversion repositories" 
  # SSPI settings 
  SSPIAuth On 
  SSPIAuthoritative On 
  # point to domaincontroller 
  SSPIDomain domain.com.cn
  SSPIOfferBasic On 
</Location>

控制文件AuthzSVNAccessFile要作相应的修改:

[test:/]
domain/user1 = r
domain/administrator = r
[test:/1]
domain/user1 = rw
[test:/2]
domain/user1 =
domain/administrator = rw


在tortoiseSVN使用时,会提示认证,填写用户名和密码即可。

标签:domain,repository,示例,SSPI,AuthzSVNAccessFile,Subversion,test,txt
From: https://blog.51cto.com/u_16245757/7352068

相关文章

  • 【Python-装饰器】【示例】日志记录装饰器
    #一个简易的日志记录装饰器,用于记录函数执行信息deflog(func):defwrapper(*args,**kwargs):print(f"调用函数{func.__name__},参数:{args},{kwargs}")result=func(*args,**kwargs)print(f"函数{func}执行结果:{result}")retu......
  • Subversion 加锁功能
    作者fbysss关键字:svn   Subversion一样可以加锁,只不过需要单独去操作。checkout不会自动加锁。在Tortoise中可以使用GetLock菜单项来操作。   如果加锁者出差了,如何打开锁呢?通过breaklock来实现。这个好像要在browse里面进行。不用担心强行解锁会如何,因为一切操作都有记......
  • Linux下非阻塞getch实现示例
    作者:fbysss关键字:getch问题1:标准c中没有getch函数,等待键盘输入之后,总是需要按下回车才能得到值,如何解决?问题2:在等待键盘输入的时候,程序被阻塞了,下面的代码必须在输入处理之后才能执行。如果不使用线程,如何实现非阻塞模式?解决办法:#include<curses.h>#include......
  • 33、Flink之hive介绍与简单示例
    文章目录Flink系列文章一、Table&SQLConnectors示例:ApacheHive1、支持的Hive版本2、依赖项1)、使用Flink提供的Hivejar2)、用户定义的依赖项3)、移动plannerjar包3、Maven依赖4、连接到Hive5、DDL&DML本文介绍了ApacheHive连接器的使用,以具体的示例演示了通过java和......
  • 【Azure Service Bus】使用Spring Cloud integration示例代码,为多个 Service Bus的连
    问题描述查看ServiceBus的Java示例代码,发现使用SpringCloudIntegration,配置Application.yaml可以连接到两个ServiceBus。但代码中没有使用ConnectionString属性配置服务连接。 那么,是否可以直接在此添加connection-string配置后,不用修改代码就可以连接到ServiceBus服务......
  • 【Azure Service Bus】使用Spring Cloud integration示例代码,为多个 Service Bus的连
    问题描述查看ServiceBus的Java示例代码,发现使用SpringCloudIntegration,配置Application.yaml可以连接到两个ServiceBus。但代码中没有使用ConnectionString属性配置服务连接。 那么,是否可以直接在此添加connection-string配置后,不用修改代码就可以连接到ServiceBu......
  • nodejs + superagent 示例记录【2023-09-02】【尝试nodejs接口测试库】
    constsuperagent=require("superagent");(async()=>{ try{  constres=awaitsuperagent.get(   "https://jsonplaceholder.typicode.com/users"  );  constheaderDate=   res.headers&&res.headers.date?......
  • Flink 1.17教程:wordcount maven工程java代码示例(批、流实现方式)
    批、流实现wordcount代码示例pom.xml<properties><flink.version>1.17.0</flink.version></properties><dependencies><dependency><groupId>org.apache.flink</groupId><......
  • Java代码:flink wordcount代码示例及解读
    WordCountWordCountPojo.java代码packagewordCount;importorg.apache.flink.api.common.functions.FlatMapFunction;importorg.apache.flink.api.common.functions.ReduceFunction;importorg.apache.flink.api.java.DataSet;importorg.apache.flink.api.java.Executio......
  • 『PyQt5-基础篇』| 03 基于PyQt5的第一个应用程序简单示例
    (03基于PyQt5的第一个应用程序简单示例)1导入必须的类需要两个类Application,QWidget;这两个类继承于QtWidgets;Application是应用程序类,QWidget是窗口类;sys模块是应用程序或窗口的参数会用到。importsysfromPyQt5.QtWidgetsimportQApplication,QWidget2创建Appli......