KeePass自动填充时如何按需排除用户名中的域名(避免重复存储凭据)
KeePass自动填充时如何按需排除用户名中的域名(避免重复存储凭据)
这个需求太常见了,完全没必要存两份几乎一样的凭据,给你两种精准解决的方案,刚好对应你提到的两个方向:
一、给KeePass添加自定义自动类型菜单选项
这是最直接的原生解决方案,步骤很清晰:
- 找到你存储的那个
domain\username凭据条目,右键选择「编辑」 - 切换到「自动类型」标签页,点击「添加」按钮创建自定义序列
- 给这个序列命名,比如「仅填充纯用户名+密码」,方便你在菜单里识别
- 在「自动类型序列」输入框里,填入这个自定义指令:
简单解释下:{USERNAME:replace=^.*\\::}{PASSWORD}^.*\\:是正则表达式,会精准匹配并替换掉开头的domain\部分(不管你的域名是什么),只保留后面的纯用户名,然后自动填充密码 - 保存设置后,回到KeePass主界面,右键点击该条目,在「Perform Autotype」子菜单里就能看到你刚创建的选项了,需要纯用户名的时候选它就行
二、Firefox的Kee插件配置自定义填充规则
如果你主要用浏览器插件填充,也可以在Kee里给不同网站单独设置:
- 打开Firefox的Kee插件,找到对应的凭据条目,点击编辑按钮
- 在条目编辑界面,找到「用户名」字段,点击旁边的小齿轮图标(高级设置)
- 选择「使用自定义表达式填充」,然后输入替换逻辑:
这里注意反斜杠要写两个(转义用),作用和上面的KeePass原生规则一样,自动去掉域名前缀replace(Username, "^.*\\\\:", "") - 你可以给这个条目关联多个网站,针对每个网站设置不同的填充规则:需要完整用户名的网站用原始字段,只需要纯用户名的网站用这个自定义表达式
- 保存后,在对应网站上用Kee填充时,就会自动应用对应的规则了
这样不管是用KeePass原生自动类型,还是浏览器插件,都能实现按需切换用户名格式,完全不用存两份凭据。
备注:内容来源于stack exchange,提问作者Berend




