Ich migriere eine ASP.Net-Site, die Active Federation und WIF 3.5 verwendet, um .Net 4.5 zu verwenden. Die Funktionalität von Windows Identity Foundation (WIF 3.5) wurde jetzt vollständig in das .NET 4.5 Framework integriert.Wie komme ich zur SecurityTokenHandlers-Sammlung in WIF 4.5?
Da Klassen in drei verschiedene Namespaces verschoben wurden, handelt es sich hauptsächlich um eine mechanische Übersetzung. Der Teil, mit dem ich Probleme habe, übersetzt die GenericXmlSecurityToken
, die von der STS ausgestellt wurde, zu einem Claims Principal für den Anruf zu SessionAuthenticationModule.WriteSessionTokenToCookie
. Die Dokumentation fehlt und ich brauche nur die WIF 4.5 Weg zu finden FederatedAuthentication.ServiceConfiguration.SecurityTokenHandlers
Hier zuzugreifen, ist ein Ausschnitt des WIF 3.5 Code, der nicht WIF 4.5 (WS-Trust-Kanal Schaffung der Kürze halber weggelassen) nicht kompiliert in:
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' - Was ist *** Namensraum *** und *** Montage ***? – Kiquenet
@Kiquenet 'System.IdentityModel.Services', das eine separate Assembly ist –