2013-05-09 2 views
1

У меня есть служба WCF, которая берет токены безопасности через привязки ws2007FederationHttpBinding. Это прекрасно работает, и в моих службах я могу использовать следующий код, чтобы получить информацию о пользователе, который был передан в токене.Как добавить дополнительные требования к токенам безопасности в WCF

var claimsPrincipal = ClaimsPrincipal.Current; 
var claimsIdentity = (ClaimsIdentity)claimsPrincipal.Identity; 
string s; 
foreach (var claim in claimsIdentity.Claims) 
{ 
     s += "\r\n\t" + claim.Type; 
     s += "\r\n\t\t" + claim.Value; 
    } 
} 

Я уверен, что я видел где-то, что есть метод, который я могу переопределить в трубопроводе WCF, чтобы добавить дополнительные пользовательские требования к личности претензий, когда маркер считывается и, прежде чем он сохраняется в ClaimsPrincipal. Текущий. Чтобы привести пример, как только WCF получит этот токен, я хочу, чтобы он перешел в пользовательскую базу данных, чтобы найти имя пользователя и добавить некоторые дополнительные требования.

Может ли кто-нибудь указать мне в правильном направлении, с чем мне нужно подключиться, чтобы достичь этого?

Благодаря

ответ

3

Выведите из класса под названием ClaimsAuthenticationManager и зарегистрировать его. Метод Authenticate будет вызван после поступления маркера и до вызова службы. Здесь вы можете изменить/добавить/удалить претензии.

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