密码

本指南介绍了如何保存、更新和管理用户在新的在线表单中输入的密码。

概述

Chromium 有一个内置功能,可以在用户提交包含用户名和密码的新表单时记住输入的凭据。 库会询问您是否要保存凭据。

如果保存了它们,下次加载表单时,库会建议自动填充。

密码自动填充

保存密码

当用户提交包含用户名和密码的新表单时,将调用 SavePasswordHandler。 在处理程序中,您可以通过返回”Save”或”Never”选项来决定是否保存此网站的凭据。 请参阅下面的代码示例:

Browser.Passwords.SavePasswordHandler = 
    new Handler<SavePasswordParameters, SavePasswordResponse>(p =>
    {
        return SavePasswordResponse.Save;
    });
Browser.Passwords.SavePasswordHandler = 
    New Handler(Of SavePasswordParameters, SavePasswordResponse)(Function(p)
        Return SavePasswordResponse.Save
    End Function)

如果选择保存密码,该密码将被添加到密码存储区。 如果选择 “Never” 选项,库将不再建议保存该网页的密码。

更新密码

当用户使用相同的用户名和新密码提交之前提交的表单时,UpdatePasswordHandler 将被调用。 在此处理程序中,您可以决定是更新现有凭据还是忽略新值。 例如:

Browser.Passwords.UpdatePasswordHandler = 
    new Handler<UpdatePasswordParameters, UpdatePasswordResponse>(p =>
    {
        return UpdatePasswordResponse.Update;
    });
Browser.Passwords.UpdatePasswordHandler = 
    New Handler(Of UpdatePasswordParameters, UpdatePasswordResponse)(Function(p)
        Return UpdatePasswordResponse.Update
    End Function)

管理密码

密码存储中的每个元素都由一个 PasswordRecord 实例表示。 它包含了用户的登录名和提交表单的网页 URL。 它不包含密码本身。

想要读取所有已保存和列入黑名单的记录,请使用:

IReadOnlyList<PasswordRecord> allPasswords = 
    Engine.Profiles.Default.PasswordStore.All;
Dim allPasswords As IReadOnlyList(Of PasswordRecord) = 
    Engine.Profiles.Default.PasswordStore.All

想要只读取已保存的记录,请使用:

IReadOnlyList<PasswordRecord> savedPasswords = 
    Engine.Profiles.Default.PasswordStore.AllSaved;
Dim savedPasswords As IReadOnlyList(Of PasswordRecord) = 
    Engine.Profiles.Default.PasswordStore.AllSaved

想要仅读取永不保存密码的网站记录,请使用:

IReadOnlyList<PasswordRecord> neverSavedPasswords = 
    Engine.Profiles.Default.PasswordStore.AllNeverSaved;
Dim neverSavedPasswords As IReadOnlyList(Of PasswordRecord) = 
    Engine.Profiles.Default.PasswordStore.AllNeverSaved

想要从存储中删除所有记录,请使用:

PasswordStore.Clear();
PasswordStore.Clear()

想要删除与特定 URL 关联的记录,请使用:

PasswordStore.RemoveByUrl(url);
PasswordStore.RemoveByUrl(url)
Go Top