Nasıl yapılır: Yerel Yayımlayan Yapılandırma
Bu konuda, bir istemcinin verilen belirteçler için yerel vereni kullanacak şekilde nasıl yapılandırıldığı açıklanmaktadır.
Genellikle, bir istemci federasyon hizmetiyle iletişim kurarken hizmet, istemcinin federasyon hizmetinde kimliğini doğrulamak için kullanacağı belirteci vermesi beklenen güvenlik belirteci hizmetinin adresini belirtir. Bazı durumlarda, istemci yerel vereni kullanacak şekilde yapılandırılabilir.
Windows Communication Foundation (WCF), federasyon bağlamasının http://schemas.microsoft.com/2005/12/ServiceModel/Addressing/Anonymous
veren adresinin veya null
olduğu durumlarda yerel bir veren kullanır. Böyle durumlarda, yerel verenin adresiyle ve bu verenle iletişim kurmak için kullanılacak bağlama ile öğesini yapılandırmanız ClientCredentials gerekir.
Not
SupportInteractive sınıfının özelliği ClientCredentials
olarak true
ayarlanırsa, yerel bir veren adresi belirtilmez ve wsFederationHttpBinding> veya diğer federasyon bağlaması http://schemas.xmlsoap.org/ws/2005/05/identity/issuer/self
tarafından <belirtilen veren adresi , http://schemas.microsoft.com/2005/12/ServiceModel/Addressing/Anonymous
veya isenull
, Windows CardSpace veren kullanılır.
Yerel vereni kodda yapılandırmak için
Türünde bir değişken oluşturma IssuedTokenClientCredential
değişkenini sınıfının özelliğinden IssuedToken
ClientCredentials
döndürülen örneğe ayarlayın. Bu örnek, istemcinin ClientCredentials özelliği (öğesinden ClientBase<TChannel>devralınır) veya Credentials özelliği ChannelFactorytarafından döndürülür:IssuedTokenClientCredential itcc = client.ClientCredentials.IssuedToken;
Dim itcc As IssuedTokenClientCredential = client.ClientCredentials.IssuedToken
LocalIssuerAddress özelliğini, yerel verenin EndpointAddressadresini oluşturucunun bağımsız değişkeni olarak içeren yeni bir örneğine ayarlayın.
itcc.LocalIssuerAddress = new EndpointAddress("http://fabrikam.com/sts");
itcc.LocalIssuerAddress = New EndpointAddress("http://fabrikam.com/sts")
Alternatif olarak, oluşturucuya bağımsız değişken olarak yeni Uri bir örnek oluşturun.
itcc.LocalIssuerAddress = new EndpointAddress(new Uri("http://fabrikam.com/sts"), addressHeaders);
itcc.LocalIssuerAddress = New EndpointAddress( _ New Uri("http://fabrikam.com/sts"), addressHeaders)
addressHeaders
parametresi, gösterildiği gibi bir örnek dizisidirAddressHeader.itcc.LocalIssuerAddress = new EndpointAddress( new Uri("http://fabrikam.com/sts"), EndpointIdentity.CreateDnsIdentity("fabrikam.com"), addressHeaders);
itcc.LocalIssuerAddress = New EndpointAddress(New Uri("http://fabrikam.com/sts"), _ EndpointIdentity.CreateDnsIdentity("fabrikam.com"), addressHeaders)
özelliğini kullanarak yerel veren için bağlamayı LocalIssuerBinding ayarlayın.
itcc.LocalIssuerBinding = new WSHttpBinding("LocalIssuerBinding");
itcc.LocalIssuerBinding = New WSHttpBinding("LocalIssuerBinding")
isteğe bağlı. Özelliği tarafından LocalIssuerChannelBehaviors döndürülen koleksiyona bu tür davranışları ekleyerek yerel veren için yapılandırılmış uç nokta davranışları ekleyin.
itcc.LocalIssuerChannelBehaviors.Add(myEndpointBehavior);
itcc.LocalIssuerChannelBehaviors.Add(myEndpointBehavior)
Yapılandırmada yerel vereni yapılandırmak için
Bir uç nokta davranışında clientCredentials öğesinin< alt öğesi olan issuedToken> öğesinin< alt öğesi olarak bir localIssuer>> öğesi oluşturun.<
özniteliğini
address
belirteç isteklerini kabul edecek yerel verenin adresine ayarlayın.binding
vebindingConfiguration
özniteliklerini, yerel veren uç noktasıyla iletişim kurarken kullanılacak uygun bağlamaya başvuran değerlere ayarlayın.isteğe bağlı. <identity> öğesini öğesinin <
localIssuer
> alt öğesi olarak ayarlayın ve yerel veren için kimlik bilgilerini belirtin.isteğe bağlı. headers> öğesini öğenin alt <
localIssuer
> öğesi olarak ayarlayın ve yerel vereni doğru şekilde ele almak için gereken ek üst bilgileri belirtin.<
.NET Framework Güvenliği
Verilen bir bağlama için bir veren adresi ve bağlama belirtilirse, yerel verenin bu bağlamayı kullanan uç noktalar için kullanılmadığını unutmayın. Her zaman yerel vereni kullanmayı bekleyen istemciler, böyle bir bağlama kullanmadığından veya bağlayıcıyı veren adresi olacak null
şekilde değiştirdiklerinden emin olmalıdır.