Аутентификация Windows возможна в приложении Metro?

Я хочу получить имя пользователя, вошедшего в систему. Является ли это возможным? Приложение предназначено только для внутренней сети.


person tempid    schedule 05.10.2012    source источник


Ответы (1)


Чтобы добавить проверку подлинности Windows в приложение, объявите возможность 'enterpriseAuthentication' в манифесте.

Дополнительные сведения см. в разделе этого связанного вопроса.

Редактировать:

Чтобы получить доменное имя пользователя, я считаю, что вы можете использовать Windows.System.UserProfile.UserInformation.GetDomainNameAsync. Существует также пример имени домена пользователя в MSDN. .

person Nathan Kuchta    schedule 05.10.2012
comment
Я уже включил Enterprise Authentication, Internet (Client), Private Networks (Client & Server). Я могу открыть URL-адрес интрасети в WebView без запроса учетных данных. Но в моем коде XAML я хочу получить имя домена\имя пользователя, чтобы я мог вызвать WebAPI, который принимает имя пользователя в качестве входных данных и возвращает некоторые пользовательские данные, которые должны быть на плитке. - person tempid; 05.10.2012
comment
Спасибо за редактирование! Образец именно то, что я хотел. Мне удалось получить доменное имя и имя пользователя. Спасибо Натан!! - person tempid; 05.10.2012
comment
Соответствующий код в образце помечен как асинхронный — async void GetDNSDomain_Click(object sender, RoutedEventArgs e), так как код использует операцию asyncGetPrincipalNameAsync. Я хотел получить имя в событии OnNavigatedTo. Есть ли неасинхронный способ его получения? - person tempid; 05.10.2012
comment
См. msdn.microsoft.com/en-us/library/windows. /apps/hh452713.aspx для получения дополнительных сведений о работе с асинхронными методами. - person Nathan Kuchta; 05.10.2012