关于 c#:UWP:如何”存储”服务器凭据以不限制用户登录

UWP : How to "store" ServerCredentials for don't contraint user to login

我尝试使用 NTLM 身份验证在 UWP 应用上调用 WebServices,但它不起作用,我没有找到任何解决方案:
这里

所以我想知道是否可以使用 HttpBaseProtocolFilter 中的 ServerCredentials 来存储用户在提示窗口中键入的凭据?
enter

1
2
3
var filter = new HttpBaseProtocolFilter();
filter.ServerCredential = new Windows.Security.Credentials.PasswordCredential();
var client = new HttpClient(filter);

我第一次输入时,登录信息保存得很好,但每次重新启动应用程序时我都需要重新输入密码,即使我选中了"记住我的凭据"框。
这对用户来说太约束了。

=> 有没有办法存储密码呢?还是我需要开发自己的登录屏幕?

问候,


我认为凭据不能在应用启动时以这种方式持久保存,并且仅针对当前会话进行缓存。

您的解决方案确实是创建自己的登录对话框。

PasswordCredential 类允许您直接提供用户名和密码:

1
2
3
4
filter.ServerCredential = new PasswordCredential(
                uri,
                userName,
                password);

您可以向用户请求用户名和密码,并使用 PasswordVault 安全地存储它们。请注意,如果用户启用了凭据漫游,则凭据将在他的所有设备上漫游(因此他将在使用您的应用程序的其他设备上自动登录)。