Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
WS-Federation'u destekleyen bir bağlama tanımlar.
<configuration>
<system.serviceModel>
<bindings>
<wsFederationHttpBinding>
Sözdizimi
<wsFederationHttpBinding>
<binding bypassProxyOnLocal="Boolean"
closeTimeout="TimeSpan"
hostNameComparisonMode="StrongWildcard/Exact/WeakWildcard"
maxBufferPoolSize="integer"
maxReceivedMessageSize="integer"
messageEncoding="Text/Mtom"
name="string"
openTimeout="TimeSpan"
privacyNoticeAt="Uri"
privacyNoticeVersion="Integer"
proxyAddress="Uri"
receiveTimeout="TimeSpan"
sendTimeout="TimeSpan"
textEncoding="UnicodeFffeTextEncoding/Utf16TextEncoding/ Utf8TextEncoding"
transactionFlow="Boolean"
useDefaultWebProxy="Boolean">
<security mode="None/Message/TransportWithMessageCredential">
<message algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
issuedTokenType="string"
issuedKeyType="SymmetricKey/PublicKey"
negotiateServiceCredential="Boolean">
<claimTypeRequirements>
<add claimType="URI"
isOptional="Boolean" />
</claimTypeRequirements>
<issuer address="Uri" >
<headers>
<add name="String"
namespace="String" />
</headers>
<identity>
<certificate encodedValue="String" />
<certificateReference findValue="String"
isChainIncluded="Boolean"
storeName="AddressBook/AuthRoot/CertificateAuthority/Disallowed/My/Root/TrustedPeople/TrustedPublisher"
storeLocation="LocalMachine/CurrentUser"
X509FindType="System.Security.Cryptography.X509certificates.X509findtype" />
<dns value="String" />
<rsa value="String" />
<servicePrincipalName value="String" />
<usePrincipalName value="String" />
</identity>
</issuer>
<issuerMetadata address="String">
<headers>
<add name="String"
namespace="String" />
</headers>
<identity>
<certificate encodedValue="String" />
<certificateReference findValue="String"
isChainIncluded="Boolean"
storeName="AddressBook/AuthRoot/CertificateAuthority/Disallowed/My/Root/TrustedPeople/TrustedPublisher"
storeLocation="LocalMachine/CurrentUser"
x509FindType="System.Security.Cryptography.X509certificates.X509findtype" />
<dns value="String" />
<rsa value="String" />
<servicePrincipalName value="String" />
<usePrincipalName value="String" />
</identity>
</issuerMetadata>
<tokenRequestParameters>
<xmlElement>
</xmlElement>
</tokenRequestParameters>
</message>
</security>
<reliableSession ordered="Boolean"
inactivityTimeout="TimeSpan"
enabled="Boolean" />
<readerQuotas maxArrayLength="Integer"
maxBytesPerRead="Integer"
maxDepth="Integer"
maxNameTableCharCount="Integer"
maxStringContentLength="Integer" />
</binding>
</wsFederationHttpBinding>
Öznitelikler ve Öğeler
Öznitelikler, alt ve üst öğeler aşağıdaki bölümlerde açıklanmaktadır.
Attributes
| Özellik | Description |
|---|---|
| Bypassproxyonlocal | Yerel adresler için ara sunucunun atlanıp atlanmayacağını gösteren boole değeri. Varsayılan değer: false. |
| closeTimeout | Kapatma TimeSpan işleminin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya buna Zeroeşit olmalıdır. Varsayılan değer 00:01:00'dır. |
| hostnameComparisonMode | URI'leri ayrıştırmak için kullanılan HTTP ana bilgisayar adı karşılaştırma modunu belirtir. Bu öznitelik, URI'de eşleştirilirken ana bilgisayar adının hizmete ulaşmak için kullanılıp kullanılmadığını gösteren türündedir HostNameComparisonMode. Varsayılan değer, eşleşmedeki konak adını yoksayan değeridir StrongWildcard. |
| maxBufferPoolSize | Bu bağlama için en büyük arabellek havuzu boyutunu belirten bir tamsayı. Varsayılan değer 524.288 bayttır (512 * 1024). Windows Communication Foundation'ın (WCF) birçok bölümünde arabellekler kullanılır. Arabellekleri her kullanışında oluşturmak ve yok etmek pahalıdır ve arabellekler için atık toplama da pahalıdır. Arabellek havuzları ile havuzdan bir arabellek alabilir, kullanabilir ve işiniz bittiğinde havuza döndürebilirsiniz. Bu nedenle arabellek oluşturma ve yok etme ek yükünden kaçınılır. |
| maxReceivedMessageSize | Bu bağlamayla yapılandırılmış bir kanalda alınabilecek üst bilgiler de dahil olmak üzere bayt cinsinden en büyük ileti boyutunu belirten pozitif bir tamsayı. Bu sınırı aşan bir iletinin göndereni SOAP hatası alır. Alıcı, iletiyi bırakır ve izleme günlüğünde olayın bir girdisini oluşturur. Varsayılan değer 65536'dır. |
| messageEncoding | İletiyi kodlamak için kullanılan kodlayıcıyı tanımlar. Geçerli değerler şunlardır: - Metin: Metin iletisi kodlayıcı kullanın. - Mtom: İleti İletim Kuruluş Mekanizması 1.0 (MTOM) kodlayıcı kullanın. Varsayılan değer Metin'dir. Bu öznitelik türündedir WSMessageEncoding. |
| name | Bağlamanın yapılandırma adını içeren bir dize. Bağlama için tanımlama olarak kullanıldığından bu değer benzersiz olmalıdır. .NET Framework 4'den başlayarak, bağlamaların ve davranışların bir ada sahip olması gerekmez. Varsayılan yapılandırma ve adsız bağlamalar ve davranışlar hakkında daha fazla bilgi için bkz. WCF Hizmetleri içinBasitleştirilmiş Yapılandırma ve Basitleştirilmiş Yapılandırma. |
| openTimeout | Açık TimeSpan işlemin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya buna Zeroeşit olmalıdır. Varsayılan değer 00:01:00'dır. |
| privacyNoticeAt | Gizlilik bildiriminin bulunduğu URI'yi belirten dize. |
| privacyNoticeVersion | Geçerli gizlilik bildiriminin sürümünü belirten tamsayı. |
| proxyAddress | HTTP ara sunucusunun adresini belirten bir URI. ise useDefaultWebProxytrue, bu ayar olmalıdır null. Varsayılan değer: null. |
| receiveTimeout | Alma TimeSpan işleminin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya buna Zeroeşit olmalıdır. Varsayılan değer 00:10:00'dır. |
| sendTimeout | TimeSpan Gönderme işleminin tamamlanması için sağlanan zaman aralığını belirten değer. Bu değer değerinden büyük veya buna Zeroeşit olmalıdır. Varsayılan değer 00:01:00'dır. |
| textEncoding | Bağlamada iletileri yaymak için kullanılacak karakter kümesi kodlamasını ayarlar. Geçerli değerler şunlardır: - BigEndianUnicode: Unicode BigEndian kodlaması. - Unicode: 16 bit kodlama. - UTF8: 8 bit kodlama Varsayılan değer UTF8'dir. Bu öznitelik .. türündedir Encoding. |
| transactionFlow | Bağlamanın akış WS-Transactions'ı destekleyip desteklemediğini belirten boole değeri. Varsayılan değer: false. |
| useDefaultWebProxy | Sistemin otomatik olarak yapılandırılan HTTP proxy'sinin kullanılıp kullanılmadığını gösteren Boole değeri. Bu öznitelik nullise proxy adresi olmalıdır (yani ayarlanmamalıdır true ). Varsayılan değer: true. |
Alt Öğeler
| Öğe | Description |
|---|---|
| <güvenlik> | İletinin güvenlik ayarlarını tanımlar. Bu öğe türündedir WSFederationHttpSecurityElement. |
| <readerQuotas> | Bu bağlamayla yapılandırılan uç noktalar tarafından işlenebilen SOAP iletilerinin karmaşıklığıyla ilgili kısıtlamaları tanımlar. Bu öğe türündedir XmlDictionaryReaderQuotasElement. |
| <Reliablesession> | Kanal uç noktaları arasında güvenilir oturumların kurulup kurulmadığını belirtir. |
Üst Öğeler
| Öğe | Description |
|---|---|
| <Bağlama> | Bu öğe, standart ve özel bağlamalardan oluşan bir koleksiyonu barındırıyor. |
Açıklamalar
Federasyon, kimlik doğrulaması ve yetkilendirme için kimlikleri birden çok sistem arasında paylaşabilme özelliğidir. Bu kimlikler kullanıcılara veya makinelere başvurabilir. Federasyon HTTP, SOAP güvenliğinin yanı sıra karma mod güvenliğini de destekler, ancak yalnızca aktarım güvenliğinin kullanılmasını desteklemez. Bu bağlama, WS-Federation protokolü için Windows Communication Foundation (WCF) desteği sağlar. Bu bağlamayla yapılandırılan hizmetlerin HTTP aktarımını kullanması gerekir.
Bağlamalar bir bağlama öğeleri yığınından oluşur. içindeki bağlama öğelerinin yığını
wsFederationHttpBinding içinde bulunanla aynıdır wsHttpBinding
<güvenlik> varsayılan değerine Messageayarlandığında.
, wsFederationHttpBinding iletideki ileti güvenlik ayarlarının <>ayrıntılarını denetler. Bağlama oluşturulduktan sonra bağlama tarafından kullanılan güvenlik değiştirilemediğinden, güvenlik< öğesinin yalnızca erişim sağladığını unutmayın.>
ayrıca wsFederationHttpBinding , gizlilik bildiriminin bulunduğu URI'yi ayarlamak ve almak için bir privacyNoticeAt özniteliği sağlar.
İlkenin güvenli tutulması özellikle federasyon senaryolarında önemlidir. Öneri, ilkeyi kötü amaçlı kullanıcılardan korumak için HTTPS gibi bir tür güvenlik kullanmaktır.
Bu bağlamayı kullanan federasyon senaryolarında hizmet ilkesi, verilen (SAML) belirtecini şifrelemek için kullanılacak anahtar, belirtece konulacak talep türü vb. gibi önemli bilgilere sahip olabilir. Bu ilkeyle oynanırsa, saldırgan verilen belirtecin anahtarını bulabilir ve daha fazla kurcalamaya, bilgilerin açığa çıkmasına ve diğer kötü amaçlı davranışlara yol açabilir. Bunu önlemeye yardımcı olmak için ilkenin hizmetten güvenli bir şekilde (örneğin HTTPS kullanılarak) alınması gerekir.
Bu bağlama hakkında daha fazla bilgi için bkz . Nasıl yapılır: WSFederation OluşturmaHttpBinding.
Example
<configuration>
<system.ServiceModel>
<bindings>
<wsFederationHttpBinding>
<binding bypassProxyOnLocal="false"
transactionFlow="false"
hostNameComparisonMode="WeakWildcard"
maxReceivedMessageSize="1000"
messageEncoding="Mtom"
proxyAddress="http://foo/bar"
textEncoding="Utf16TextEncoding"
useDefaultWebProxy="false">
<reliableSession ordered="false"
inactivityTimeout="00:02:00"
enabled="true" />
<security mode="None">
<message negotiateServiceCredential="false"
algorithmSuite="Aes128"
issuedTokenType="saml"
issuedKeyType="PublicKey">
<issuer address="http://localhost/Sts" />
</message>
</security>
</binding>
</wsFederationHttpBinding>
</bindings>
</system.ServiceModel>
</configuration>