首页 > 代码库 > Subversion客户端认证凭证缓存总结

Subversion客户端认证凭证缓存总结

Subversion1.7或者更旧版本,主要使用一个磁盘缓存解决方案用来缓存认证凭证。
Subversion1.8中,其配置文件($HOME/.subversion/config)允许--disable-plaintext-password-storage选项绕过存储明文和客户端口令的逻辑。

Subversion认证信息缓存默认目录:
  • 在linux下为$HOME/.subversion/auth/目录
  • 在windows下为%APPDATA%\Subversion\auth;可以通过echo %APPDATA%命令查看其实际目录
     注:在windows下%APPDATA%默认为隐藏文件夹

auth子目录分别为:

  • svn.simple:包含了基本认证方式所需要的认证信息(用户名/密码)。
          在linux server下密码是明文形式,1.8版本可以选择不缓存认证,如果缓存,依然是明文;
          在windows下密码是通过WinCrypt API 加密的,不是文本形式;
          此外MacOS X、Gnome、KDE等桌面也提供了加密解决方案;
  • svn.ssl.client-passphrase 
  • svn.ssl.server:包含了SSL服务器证书。
  • svn.username:包含了用户名认证的认证信息(不需要提供密码)
如果要清除svn认证缓存删除上述的auth目录即可:
windows命令
rmdir /s /q "%APPDATA%\Subversion\auth"
linux命令 rm -rf  $HOME/.subversion/auth/


查看auth目录下某个文件的详细内容:
linux环境 windows环境
K 8
passtype
V 6
simple

K 8
password
V 8
svnpassword
K 15
svn:realmstring
V 35
svnhosturl
K 8
username
V 8
svnusername
END
K 8
passtype
V 8
wincrypt

K 8
password
V 272
svncryptpassword
K 15
svn:realmstring
V 35
svnhosturl
K 8
username
V 8
svnusername
END

下面是摘自 Subversion 官网的资料:
Disk Cache(磁盘缓存)

Outsourced Secure Cache(外部安全缓存,即第三方安全缓存)



Subversion客户端认证凭证缓存总结