Metro应用程序中可以进行Windows身份验证吗?

Posted

技术标签:

【中文标题】Metro应用程序中可以进行Windows身份验证吗?【英文标题】:Windows Authentication possible in metro app? 【发布时间】:2012-10-05 16:20:50 【问题描述】:

我想检索登录用户的用户名。是否可以?该应用程序仅适用于 Intranet。

【问题讨论】:

【参考方案1】:

要向应用添加 Windows 身份验证,请在清单中声明 'enterpriseAuthentication' capability。

详情请参阅this related question 中的信息。

编辑:

要检索用户的域名,相信可以使用Windows.System.UserProfile.UserInformation.GetDomainNameAsync。 MSDN 上还有User domain name sample。

【讨论】:

我已经启用了Enterprise Authentication, Internet (Client), Private Networks (Client & Server)。我可以在没有凭据提示的情况下在 WebView 中打开 Intranet URL。但是在我的 XAML 代码中,我想检索域名\用户名,这样我就可以调用一个 WebAPI,它将用户名作为输入并返回一些需要在磁贴上的用户特定数据。 感谢编辑!样品正是我想要的。我能够检索域名和用户名。谢谢内森!! 示例中的相关代码被标记为异步 - async void GetDNSDomain_Click(object sender, RoutedEventArgs e),因为代码使用了async 操作 - GetPrincipalNameAsync。我想在OnNavigatedTo 事件中检索名称。是否有非异步的方式来检索它? 请参阅msdn.microsoft.com/en-us/library/windows/apps/hh452713.aspx,了解有关使用异步方法的更多信息。

以上是关于Metro应用程序中可以进行Windows身份验证吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Angular 7 Web 应用程序中安全地进行无密码(重要)Windows 身份验证

我可以在尝试连接到未经身份验证的网络路径时显示 Windows 身份验证对话框吗

Spotify Windows 桌面应用程序如何对用户进行身份验证?

使用 Windows Auth NTLM 进行身份验证

ASP.NET 2.0 中的 Windows 身份验证

一文理解 Windows 身份验证原理