繁体   English   中英

解决UWP应用中的当前用户

[英]Resolving current user in UWP app

有关UWP的一些基本信息:

  • 功能已打开:Internet(客户端),用户帐户信息,网络摄像头
  • 没有声明
  • 目标版本:Windows 10周年纪念版
  • 最低版本:Windows 10(10.0)
  • 构建平台:x64

这是我用来检索用户信息的代码:

public async Task ResolveUserAsync()
{
    if (_currentUserInfo != null)
    {
        return;
    }
    var users = await User.FindAllAsync(UserType.LocalUser);
    var desiredProperties = new[]
    {
        KnownUserProperties.FirstName, KnownUserProperties.LastName, KnownUserProperties.ProviderName, KnownUserProperties.AccountName, KnownUserProperties.GuestHost,
        KnownUserProperties.PrincipalName, KnownUserProperties.DomainName, KnownUserProperties.SessionInitiationProtocolUri
    };
    _currentUserInfo = await users.FirstOrDefault().GetPropertiesAsync(desiredProperties);
    foreach (var prop in _currentUserInfo)
    {
        Debug.WriteLine($"{prop.Key}: {prop.Value}");
    }
}

调试控制台中的输出:

lastName:
firstName:
accountName: 
domainName: 
providerName: 
sipUri: 
principalName: 
guestHost: 

该应用程序在平板电脑上运行,平板电脑是经典广告的成员,我不知道为什么这些值是空的。 该应用要求在用户界面中确认用户详细信息。

旁注:如果在使用AzureAD帐户登录的计算机上对此进行测试,则此代码将仅填充firstNamelastName

不完全确定此行为最近是否改变,但是在过去,这取决于您作为用户的隐私设置(设置->隐私->帐户信息->顶部切换开关)

我的应用程式中有类似的问题。 在应用清单中打开“企业身份验证”功能后,至少填充了PrincipalName属性

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM