1

J'utilise Windows 10 machine et Visual Studio 2015 pour un projet qui a Windows Runtime composant et Universal Windows Application (UWA). UWA a une référence du composant Windows Runtime qui effectue une tâche pour obtenir UserIdentity (ID Windows NT, c'est-à-dire "DomainName/UserName") de l'utilisateur connecté. Le projet de test UWA est créé pour déboguer le composant Runtime. Si nous obtenons UserIdentity dans le composant d'exécution afin que nous puissions utiliser la référence de composant à notre projet Windows10 cordova pour obtenir UserIdentity en javascript.
Ici, nous sommes confrontés à un problème où aucun code ne fonctionne pour être connecté dans le nom de domaine/nom d'utilisateur de l'utilisateur. Nous avons mis à jour ce code à partir de Windows 10 à usures 8.1 ce code fonctionne parfaitement avec Windows 8.1, mais ayant problème dans Windows 10. Voici le code que nous utilisons pour obtenir UserIdentity:Le composant Universal Windows Application Runtime ne résulte pas UserIdentity sur Windows 10 en utilisant Visual Studio 2015

public sealed class getNTID 
{ 
    public static IAsyncOperation<string> DownloadAsStringsAsync() 
    { 

     return Task.Run<string>(async() => 
     { 

      IReadOnlyList<User> users = await User.FindAllAsync(); 

      var current = users.Where(p => p.AuthenticationStatus == UserAuthenticationStatus.LocallyAuthenticated && 
            p.Type == UserType.LocalUser).FirstOrDefault(); 


      var data = await current.GetPropertyAsync(KnownUserProperties.AccountName); 

      return data.ToString(); 

     }).AsAsyncOperation(); 
    } 
} 

Nous obtenons une chaîne vide dans la variable de données à la fin. Ce serait génial si quelqu'un partage leur expérience ou ils ont fait face à ce genre de problème avec la plate-forme mentionnée.

Répondre

0

User la classe est nouvelle pour Windows 10, ce qui est différent avec UserInformation dans Windows 8.1 que vous avez utilisé. L'accès aux informations personnelles d'un utilisateur est un privilège que vous devez demander. Dans le package.appxmanifest de votre application, vous devez activer la fonctionnalité Informations sur le compte utilisateur dans l'onglet Fonctionnalités. Lorsque vous appelez GetPropertyAsync, votre utilisateur recevra une demande d'autorisation du système comme suit, acceptez-le, vous pouvez obtenir l'autorisation. Plus de détails sur la capacité s'il vous plaît référence this document. enter image description here

Pour la méthode GetPropertyAsync, si la propriété est manquante ou indisponible, une chaîne vide est renvoyée. Donc, si vous avez déjà fait mais vous obtenez toujours une valeur nulle peut-être que la propriété est manquante ou indisponible.

Voici le résultat que j'ai obtenu en exécutant votre code pour obtenir DomainName de l'utilisateur actuel (j'ai également mis le code dans le composant d'exécution de Windows).

enter image description here

Plus de détails s'il vous plaît référence au official sample.