Sto migrando un sito ASP.Net che utilizza Active Federation e WIF 3.5 per utilizzare .Net 4.5. La funzionalità di Windows Identity Foundation (WIF 3.5) è ora completamente integrata nel .Net Framework 4.5.Come si accede alla raccolta SecurityTokenHandlers in WIF 4.5?
Poiché le classi si sono spostate su tre diversi spazi dei nomi, è principalmente una questione di traduzione meccanica. La parte con cui ho problemi è la traduzione dello GenericXmlSecurityToken
emesso dal servizio token di sicurezza presso un preside di reclamo per la chiamata allo SessionAuthenticationModule.WriteSessionTokenToCookie
. La documentazione è carente e ho solo bisogno di trovare il modo WIF 4.5 per accedere FederatedAuthentication.ServiceConfiguration.SecurityTokenHandlers
Ecco un frammento del 3.5 codice di WIF che non viene compilato in WIF 4.5 (creazione del canale WSTrust omesse per brevità):
var genericToken = channel.Issue(rst) as GenericXmlSecurityToken;
var handlers = FederatedAuthentication.ServiceConfiguration.SecurityTokenHandlers;
var token = handlers.ReadToken(new XmlTextReader(new StringReader(genericToken.TokenXml.OuterXml)));
var identity = handlers.ValidateToken(token).First();
var sessionToken = new SessionSecurityToken(ClaimsPrincipal.CreateFromIdentity(identity),
TimeSpan.FromMinutes(20));
FederatedAuthentication.SessionAuthenticationModule.WriteSessionTokenToCookie(sessionToken);
'FederatedAuthentication.FederationConfiguration.IdentityConfiguration.SecurityTokenHandlers' - Che cosa è *** namespace *** e *** *** assemblaggio? – Kiquenet
@Kiquenet 'System.IdentityModel.Services', che è un assembly separato –