Tôi đang di chuyển một trang ASP.Net sử dụng Active Federation và WIF 3.5 để sử dụng .Net 4.5. Chức năng của Windows Identity Foundation (WIF 3.5) hiện đã được tích hợp đầy đủ vào trong .Net 4.5 Framework.Làm cách nào để truy cập bộ sưu tập SecurityTokenHandlers trong WIF 4.5?
Vì các lớp học đã chuyển đến ba không gian tên khác nhau, nên phần lớn là bản dịch cơ học. Phần mà tôi gặp rắc rối với việc dịch GenericXmlSecurityToken
do STS cấp cho một Hiệu trưởng yêu cầu bồi thường cho cuộc gọi đến SessionAuthenticationModule.WriteSessionTokenToCookie
. Các tài liệu còn thiếu và tôi chỉ cần phải tìm cách WIF 4.5 để truy cập FederatedAuthentication.ServiceConfiguration.SecurityTokenHandlers
Dưới đây là một đoạn của WIF 3,5 mã mà không biên dịch trong WIF 4,5 (WSTrust tạo kênh bỏ qua cho ngắn gọn):
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' - là gì *** namespace *** và *** lắp ráp ***? – Kiquenet
@Kiquenet 'System.IdentityModel.Services', là một hội đồng riêng biệt –