webstorm 不存储 svn 账号密码,而是依赖 svn.exe 客户端的认证缓存机制:windows 存于凭据管理器、macos 存于钥匙串、linux 存于 ~/.subversion/auth/svn.simple/ 或密钥环。

WebStorm 里 SVN 账号密码存在哪?
WebStorm 本身不直接存储 SVN 的明文账号密码,它依赖底层 svn.exe 命令行客户端的认证缓存机制。也就是说:你第一次在 WebStorm 里执行 svn checkout 或 svn update 时输入的用户名密码,会被 SlikSVN(或其它命令行客户端)自动保存到本地凭证库(Windows 上通常是 Windows Credential Manager,macOS 是 Keychain,Linux 是 GNOME Keyring 或 plain text cache)。后续操作只要没被清除,就不再弹窗要密码。
为什么每次提交都弹登录框?
常见原因有三个:
-
svn.exe路径配置错误,导致 WebStorm 实际调用的是无认证能力的 GUI 工具(比如误配成tortoiseplink.exe或TortoiseProc.exe) - SVN 服务器启用了 Basic 认证但未勾选 “Save authentication”(某些旧版 SlikSVN 默认不保存)
- 凭证被手动清空,或 Windows Credential Manager 里对应 SVN URL 的条目被删掉了
验证方式:打开终端,手动运行 svn info ,看是否也弹窗。如果也弹,说明是 svn 客户端层的问题,不是 WebStorm 设置问题。
如何强制更新或重置 SVN 登录凭据?
不能在 WebStorm 界面里“修改密码”,必须通过命令行或系统凭证管理器操作:
- 在终端执行
svn auth --remove(SlikSVN 1.10+ 支持),或更稳妥地:svn cleanup && svn auth --remove - Windows 用户可打开
Control Panel → User Accounts → Credential Manager → Windows Credentials,找到以svn:开头的条目,删除对应仓库的凭证 - macOS 用户打开
Keychain Access,搜索svn或仓库域名,删掉相关项 - 之后再在 WebStorm 里做一次
Update Project或Commit,就会重新弹窗,勾选 “Save authentication” 即可
WebStorm 提交时提示 “Authentication required” 但没弹窗?
这是典型静默认证失败,往往因为:
- SVN 服务器返回了非标准的 Realm 字符串(含空格、特殊符号),导致客户端无法匹配已存凭证
- WebStorm 启用了 “Use default credentials” 但系统没提供有效域账户(尤其在企业 AD 环境下)
-
svn.exe版本太老(如 1.6),不支持当前 SVN 服务端的认证协议(如 DIGEST-MD5)
临时解法:在终端先跑一次 svn list <repo-url></repo-url>,手动输对账号密码并确认保存;之后 WebStorm 就能复用这个缓存了。长期建议升级 svn.exe 到 1.14+ 并确认服务端 Apache mod_dav_svn 配置中 AuthzSVNAuthoritative off 是否合理。
svn.exe 和操作系统凭证之间的那层映射——改设置不如先查凭证。











