检查用户颠覆写访问(Check subversion writable access for use

2019-10-17 01:29发布

有没有什么办法来检查用户是否有一些库路径写访问? 我现在要做的就是努力创建目录,然后将其删除,以检查用户是否有写权限:

svn mkdir --username username --password password --message "check whether user username has repository writable access" "svn://localhost:3129/test"
svn delete --username username --password password --message "check whether user username has repository writable access" "svn://localhost:3129/test"

的问题是,这些操作被执行常常作为应用程序源代码的一部分。 而且,作为一个结果,库得到太多不必要的承诺的情况下,用户有可写权限。

是否有任何命令类似svn checkaccess --username username --password password svn://localhost:3129/test或任何其他解决方法,这样我就不需要创建临时目录中所有的时间?

Answer 1:

我可以提出一个哈克的方式,但我不知道它会为所有协议工作(我与DAV测试---它的工作,与文件:///所有路径都写的)。

Subversion有多种API。 有些语言(至少C(libsvn_ra),爪哇( SVNKit ),Perl的( AlienSVN ))提供远程API,允许创建与编辑电话(我不知道如果PHP一样)提交。 如果执行上要检查可写的网址以下电话:

openRoot -1
changeDirProperty customPropertyName custromPropertyValue
closeDir
abortEdit

这个序列不执行,因为abortEdit调用()的变化,如果该目录是可写的。 但对于这个DAV失败,错误代码RA_NOT_AUTHORIZED(E170001)如果不写。

这里有一个文章 ,说明如何使用在Java SVN远程API提交。 我觉得PHP代码将类似于。

希望它可以帮助(如果不是你那么至少的Java / C / Perl的开发者)。



文章来源: Check subversion writable access for user