1

Windows 런타임 구성 요소와 Universal Windows 응용 프로그램 (UWA)이있는 프로젝트에 Windows 10 시스템과 Visual Studio 2015를 사용하고 있습니다. UWA는 로그인 한 사용자의 UserIdentity (Window NT ID, 즉 "DomainName/UserName")를 가져 오는 작업을 수행하는 Windows 런타임 구성 요소에 대한 참조를 가지고 있습니다. 런타임 구성 요소를 디버깅하기 위해 UWA 테스트 프로젝트가 만들어집니다. 런타임 구성 요소에서 UserIdentity를 얻으면 Windows10 코드 바 프로젝트에 대한 구성 요소 참조를 사용하여 javascript에서 UserIdentity를 가져올 수 있습니다.
여기서 우리는 사용자의 DomainName/username에 로그인하는 데 코드가 전혀 작동하지 않는 문제에 직면 해 있습니다.Universal Windows Application Runtime 구성 요소가 생성되지 않음 Visual Studio 2015를 사용하는 Windows 10의 UserIdentity

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(); 
    } 
} 

우리는 빈 문자열을 얻고있다 : 우리는 10-8.1이 코드는 윈도우 8.1과 함께 좋은 작업 있지만 Windows 10에 문제가 발생 아래는 UserIdentity를 얻기 위해 사용하는 코드입니다 착용 윈도우에서이 코드를 업그레이드 마지막에 데이터 변수에 넣습니다. 누군가가 그들의 전제를 공유하거나 위에서 언급 한 플랫폼으로 이런 종류의 문제에 직면하면 좋을 것입니다.

답변

0

User 클래스는 Windows 사용자가 사용하는 Windows 버전에서 UserInformation과 다른 Windows 10의 새로운 기능입니다. 사용자의 개인 정보에 대한 액세스 권한은 요청해야하는 권한이므로 상점 앱의 Package.appxmanifest에서 기능 탭의 사용자 계정 정보 기능을 사용하도록 설정해야합니다.

GetPropertyAsync으로 전화하면 사용자에게 다음과 같이 권한 요청 메시지가 나타나고 동의하면 권한을 얻을 수 있습니다. 기능에 대한 자세한 내용은 this document을 참조하십시오. enter image description here

GetPropertyAsync 메서드의 경우 속성이 없거나 사용할 수없는 경우 빈 문자열이 반환됩니다. 그래서 당신은 이미 했어도 당신은 여전히 ​​Null 값을 얻었을 수도 있습니다 속성이 없거나 사용할 수없는 경우.

여기에 현재 사용자의 DomainName을 얻기 위해 코드를 실행하여 얻은 결과가 있습니다 (Windows 런타임 구성 요소에도 코드를 넣음).

enter image description here

자세한 내용은 official sample을 참조하시기 바랍니다.