关于UWP的一些基本信息:
以下是我检索用户信息的代码:
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:
该应用程序在平板电脑上运行,该平板电脑是经典AD的成员,我无法弄清楚,为什么这些值是空的。该应用程序要求在用户界面中确认用户详细信息。
附注:如果我在使用AzureAD帐户登录的计算机上对此进行测试,则此代码将仅填入firstName
和lastName
。
答案 0 :(得分:0)
不完全确定此行为是否最近有所改变,但在过去,这取决于您的隐私设置作为用户(设置 - >隐私 - >帐户信息 - >顶部切换开关)
答案 1 :(得分:0)
我的应用中遇到了类似的问题。 在我打开应用清单中的“企业身份验证”功能后,至少填充了principalName属性