2015-05-26 2 views
0

Как получить имя участника-пользователя (UPN) из претензий с сайта ASP.NET с использованием ADFS для аутентификации? Я предполагаю, что возвращаю отображаемое имя и UPN, но все, что я могу видеть, - это отображаемое имя.VS2013 .NET 4.5 ASP.NET ADFS Получить UPN из претензий

Вот как я получаю текущее отображаемое имя.

User.Identity.Name

Но просматривая пользователя и объекты Идентичность не ясно, где UPN находится.

ответ

0

Это, как я получил его на работу ...

Сначала я нашел этот пост: https://syfuhs.net/2010/09/09/converting-claims-to-windows-tokens-and-user-impersonation/

Это помогло, но я должен был превратить его из WIF 3,5 до 4,5. Это то, что у меня есть в конце.

Импорт заявление:

Imports System 
Imports System.Linq 
Imports System.Threading 
Imports System.Security.Principal 
Imports System.Security.Claims 

фрагмент коды для использования:

Dim identity As ClaimsIdentity = DirectCast(Thread.CurrentPrincipal.Identity, ClaimsIdentity) 
Dim upn As String = identity.Claims.Where(Function(c) c.Type = ClaimTypes.Upn).First().Value 

If [String].IsNullOrEmpty(upn) Then 
    Throw New Exception("No UPN claim found") 
End If 

Надеется, что это помогает кто-то другое!

Смежные вопросы