0

我正在处理 WinForms 应用程序的登录过程,并正在检查各种选项来存储我的应用程序登录凭据,并且遇到了一个我想寻求帮助的问题。

我的想法是将应用程序凭据存储到 Windows 凭据管理器,如果操作系统支持它(目标操作系统可以是从 Vista 到 Win10 的任何东西),否则将其存储到 Windows 注册表。但是我面临的问题是我将如何检查操作系统是否支持 Windows 凭据管理器,我在某处读到如果它不存在它会抛出一个错误,但是有没有更好的方法可以在不处理它的情况下检查它例外。

我正在使用CredentialManagement Nuget 包来访问 Windows 凭据管理器功能。

    public static string GetPassword()
    {
        try
        {
            using (var cred = new Credential())
            {
                cred.Target = CredentialName;

                if (cred.Exists())
                {
                    cred.Load();
                    return cred.Password;
                }
                else
                {
                    return string.Empty;
                }
            }
        }
        catch (Exception ex)
        {
            // Handle the exception
        }
    }
4

0 回答 0