Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven 为什么subversion在以系统用户身份运行时使用系统名称作为用户名?_Maven_Svn_Teamcity - Fatal编程技术网

Maven 为什么subversion在以系统用户身份运行时使用系统名称作为用户名?

Maven 为什么subversion在以系统用户身份运行时使用系统名称作为用户名?,maven,svn,teamcity,Maven,Svn,Teamcity,这让我一整天都在寻找答案。底线是,当我以系统用户的身份运行svn时,它似乎使用系统名称对svn服务器进行身份验证,而不管传递了什么凭据。下面是得出这一结论的详细解释 从Windows 7 Professional运行时,如果我在任何普通用户下从控制台运行svn,应用程序将按预期工作:如果凭据已缓存在%AppData%/Roaming/Subversion中,它将使用它们,如果没有,它将提示输入用户名和密码,除非我使用选项-username和-password。如果我使用这些选项输入凭据,那么提交

这让我一整天都在寻找答案。底线是,当我以系统用户的身份运行svn时,它似乎使用系统名称对svn服务器进行身份验证,而不管传递了什么凭据。下面是得出这一结论的详细解释

从Windows 7 Professional运行时,如果我在任何普通用户下从控制台运行svn,应用程序将按预期工作:如果凭据已缓存在%AppData%/Roaming/Subversion中,它将使用它们,如果没有,它将提示输入用户名和密码,除非我使用选项-username和-password。如果我使用这些选项输入凭据,那么提交工作没有问题。到目前为止一切都很好

但是,当我尝试在同一台计算机上以系统用户nt AUTHORY\system的身份运行svn时,它的行为会有所不同。首先,%AppData%/Roaming/Subversion指向C:\Windows\System32\config\systemprofile\AppData\Roaming\Subversion,我确保那里没有auth文件夹,因此没有缓存凭据。然后我在没有任何参数的情况下运行svn,它不会提示输入用户名/密码,而是执行操作并从subversion接收错误:

svn: E175013: Commit failed (details follow):
svn: E175013: MKACTIVITY of '/svn/Development/!svn/act/f20db493-48f1-9c43-a957-541584be555e': 403 Forbidden (http://<ip-address>)
其中是我试图从subversion日志末尾的“$”中提交的计算机的主机名,这不是主机名的一部分,但它确实作为用户名的一部分出现在日志中

这就是问题所在:为什么svn在作为系统用户运行时表现不同?为什么在对SVN服务器进行身份验证时使用主机名作为用户名?为什么其他用户工作正常

注意:我认为我的问题与stackoverflow中的以下问题不同:

:我没有收到任何输入用户名和密码的提示,无论我是否指示选项-username和-password :我看到了这个问题,我试着仔细检查URL中所有项目的大小写,没有运气。 :我已检查%AppData%/Roaming/Subversion中是否缓存了凭据 对于那些想知道我为什么尝试以系统用户身份运行svn的人,答案是我正在尝试从TeamCity提交,这意味着它是执行svn命令的构建代理。构建代理是一个Windows服务,以系统用户的身份运行,svn命令以上面解释的方式失败

在svn命令中使用-no auth缓存,您将不会看到此问题。但是,您可能会遇到其他问题。 如果您不使用no-auth缓存,它会尝试找出默认用户名和密码

更好的方法是创建一个.subversion文件夹并将身份验证存储在该文件夹中。因此,对于系统帐户,您可以为登录指定不同的用户名和密码。
您使用什么Subversion服务器?SVN+HTTPD什么版本?Subversion服务器的版本是1.6.5 r38866。客户端使用工作副本版本1.8。Http Apache版本Apache/2.2.8 Win32。谢谢。我已经使用了-无身份验证缓存,忘了提到这一点。无论如何,我检查了文件系统中是否没有缓存身份验证,所以我认为这不是问题所在。
[Fri Aug 08 17:32:18 2014] [error] [client <client IP>] Access denied: '<clienthostname>$' MKACTIVITY Development:
[Fri Aug 08 17:32:18 2014] [error] [client <client IP>] Access denied: '<clienthostname>$' DELETE Development: