Как получить другие претензии пользователя, использующего ADFS? - PullRequest
1 голос
/ 28 марта 2010

Я могу аутентифицировать пользователя, используя ADFS, и мне удалось получить псевдоним пользователя, используя следующую инструкцию.С некоторых пор я ищу способ получения других утверждений аутентифицированного пользователя, таких как электронная почта, имя, роли, имя пользователя и т. Д.

Любая помощь по этому вопросу будет принята.

псевдоним строки = ((MicrosoftAdfsProxyRP.MicrosoftPrincipal) HttpContext.Current.User) .Alias;

Response.Write (псевдоним);

Ответы [ 3 ]

2 голосов
/ 30 марта 2010

Вы задаете миру вопрос о внутренней службе и интерфейсе Microsoft. Попробуйте отправить псевдоним msftadfsproxydisc с вопросом.

2 голосов
/ 28 февраля 2011

Посмотрите на Как: получить доступ к утверждениям на странице ASP.NET .

На случай, если ссылка исчезнет, ​​ключ:

void Page_Load(object sender, EventArgs e)
{
    // Cast the Thread.CurrentPrincipal
    IClaimsPrincipal icp = Thread.CurrentPrincipal as IClaimsPrincipal;

    // Access IClaimsIdentity which contains claims
    IClaimsIdentity claimsIdentity = (IClaimsIdentity)icp.Identity;

    // Access claims
    foreach(Claim claim in claimsIdentity.Claims)
    {
      Response.Write(claim.ClaimType) + "<BR>";
      Response.Write(claim.Value) + "<BR>";
      Response.Write(claim.ValueType) + "<BR>";
    }
}
2 голосов
/ 28 марта 2010

Заявки способ получения других претензий заключается в следующем.

IClaimsPrincipal liabilityPr = (IClaimsPrincipal) (HttpContext.Current.User) Из принципа утверждений вы можете получить коллекцию ClaimsIdentity через IClaimsIdentity.

Получите IClaimsIdentity из argumentsPr.Identifies.

Затем проверьте все утверждения, присутствующие в IClaimsIdentity, с помощью свойства Claims.

...