Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A Windows Communication Foundation (WCF) számos módot kínál, amelyekkel az ügyfelek és a szolgáltatások hitelesítik egymást. Ezekhez a hitelesítési módokhoz létrehozhat biztonsági kötési elemeket statikus metódusokkal az osztályon vagy konfiguráción SecurityBindingElement keresztül, ahogyan az az alábbi példában látható.
A 18 hitelesítési módról további információt a SecurityBindingElement hitelesítési módokban talál.
Példa
Az alábbi példakód a különböző hitelesítési módok kötéseinek létrehozására szolgáló módszereket mutatja be.
Feljegyzés
Az objektum egy példányának SecurityBindingElement létrehozása után számos tulajdonság nem módosítható, például KeyType és MessageSecurityVersion. Az ilyen tulajdonságok meghívása set nem módosítja őket.
// These public methods create custom bindings based on the built-in
// authentication modes that use the static methods of
// the System.ServiceModel.Channels.SecurityBindingElement class.
public static Binding CreateAnonymousForCertificateBinding()
{
BindingElementCollection bec = new BindingElementCollection();
bec.Add(SecurityBindingElement.
CreateAnonymousForCertificateBindingElement());
bec.Add(new TextMessageEncodingBindingElement());
bec.Add(new HttpTransportBindingElement());
return new CustomBinding(bec);
}
public static Binding CreateAnonymousForSslNegotiatedBinding()
{
BindingElementCollection bec = new BindingElementCollection();
bec.Add(SecurityBindingElement.
CreateSslNegotiationBindingElement(false));
bec.Add(new TextMessageEncodingBindingElement());
bec.Add(new HttpTransportBindingElement());
return new CustomBinding(bec);
}
public static Binding CreateCertificateOverTransportBinding()
{
BindingElementCollection bec = new BindingElementCollection();
bec.Add(SecurityBindingElement.
CreateCertificateOverTransportBindingElement());
bec.Add(new TextMessageEncodingBindingElement());
bec.Add(new HttpsTransportBindingElement());
return new CustomBinding(bec);
}
public static Binding CreateIssuedTokenBinding()
{
BindingElementCollection bec = new BindingElementCollection();
bec.Add(SecurityBindingElement.
CreateIssuedTokenBindingElement(
new IssuedSecurityTokenParameters()));
bec.Add(new TextMessageEncodingBindingElement());
bec.Add(new HttpTransportBindingElement());
return new CustomBinding(bec);
}
public static Binding CreateIssuedTokenForCertificateBinding()
{
BindingElementCollection bec = new BindingElementCollection();
bec.Add(SecurityBindingElement.
CreateIssuedTokenForCertificateBindingElement(
new IssuedSecurityTokenParameters()));
bec.Add(new TextMessageEncodingBindingElement());
bec.Add(new HttpTransportBindingElement());
return new CustomBinding(bec);
}
public static Binding CreateIssuedTokenForSslNegotiatedBinding()
{
BindingElementCollection bec = new BindingElementCollection();
bec.Add(SecurityBindingElement.
CreateIssuedTokenForSslBindingElement(
new IssuedSecurityTokenParameters()));
bec.Add(new TextMessageEncodingBindingElement());
bec.Add(new HttpTransportBindingElement());
return new CustomBinding(bec);
}
public static Binding CreateIssuedTokenOverTransportBinding()
{
BindingElementCollection bec = new BindingElementCollection();
bec.Add(SecurityBindingElement.
CreateIssuedTokenOverTransportBindingElement(
new IssuedSecurityTokenParameters()));
bec.Add(new TextMessageEncodingBindingElement());
bec.Add(new HttpsTransportBindingElement());
return new CustomBinding(bec);
}
public static Binding CreateKerberosBinding()
{
BindingElementCollection bec = new BindingElementCollection();
bec.Add(SecurityBindingElement.CreateKerberosBindingElement());
bec.Add(new TextMessageEncodingBindingElement());
bec.Add(new HttpTransportBindingElement());
return new CustomBinding(bec);
}
public static Binding CreateKerberosOverTransportBinding()
{
BindingElementCollection bec = new BindingElementCollection();
bec.Add(SecurityBindingElement.
CreateKerberosOverTransportBindingElement());
bec.Add(new TextMessageEncodingBindingElement());
bec.Add(new HttpsTransportBindingElement());
return new CustomBinding(bec);
}
public static Binding CreateMutualCertificateBinding()
{
BindingElementCollection bec = new BindingElementCollection();
bec.Add(SecurityBindingElement.
CreateMutualCertificateBindingElement());
bec.Add(new TextMessageEncodingBindingElement());
bec.Add(new HttpTransportBindingElement());
return new CustomBinding(bec);
}
public static Binding CreateMutualCertificateDuplexBinding()
{
BindingElementCollection bec = new BindingElementCollection();
bec.Add(SecurityBindingElement.
CreateMutualCertificateDuplexBindingElement());
bec.Add(new CompositeDuplexBindingElement());
bec.Add(new OneWayBindingElement());
bec.Add(new TextMessageEncodingBindingElement());
bec.Add(new HttpTransportBindingElement());
return new CustomBinding(bec);
}
public static Binding CreateMutualSslNegotiatedBinding()
{
BindingElementCollection bec = new BindingElementCollection();
bec.Add(SecurityBindingElement.
CreateSslNegotiationBindingElement(true));
bec.Add(new TextMessageEncodingBindingElement());
bec.Add(new HttpTransportBindingElement());
return new CustomBinding(bec);
}
public static Binding CreateSecureConversationBinding()
{
BindingElementCollection bec = new BindingElementCollection();
bec.Add(SecurityBindingElement.
CreateSecureConversationBindingElement(
SecurityBindingElement.CreateSspiNegotiationBindingElement()));
bec.Add(new TextMessageEncodingBindingElement());
bec.Add(new HttpTransportBindingElement());
return new CustomBinding(bec);
}
public static Binding CreateSspiNegotiatedBinding()
{
BindingElementCollection bec = new BindingElementCollection();
bec.Add(SecurityBindingElement.CreateSspiNegotiationBindingElement());
bec.Add(new TextMessageEncodingBindingElement());
bec.Add(new HttpTransportBindingElement());
return new CustomBinding(bec);
}
public static Binding CreateSspiNegotiatedOverTransportBinding()
{
BindingElementCollection bec = new BindingElementCollection();
bec.Add(SecurityBindingElement.
CreateSspiNegotiationOverTransportBindingElement());
bec.Add(new TextMessageEncodingBindingElement());
bec.Add(new HttpsTransportBindingElement());
return new CustomBinding(bec);
}
public static Binding CreateUserNameForCertificateBinding()
{
BindingElementCollection bec = new BindingElementCollection();
bec.Add(SecurityBindingElement.
CreateUserNameForCertificateBindingElement());
bec.Add(new TextMessageEncodingBindingElement());
bec.Add(new HttpTransportBindingElement());
return new CustomBinding(bec);
}
public static Binding CreateUserNameForSslNegotiatedBinding()
{
BindingElementCollection bec = new BindingElementCollection();
bec.Add(SecurityBindingElement.CreateUserNameForSslBindingElement());
bec.Add(new TextMessageEncodingBindingElement());
bec.Add(new HttpTransportBindingElement());
return new CustomBinding(bec);
}
public static Binding CreateUserNameOverTransportBinding()
{
BindingElementCollection bec = new BindingElementCollection();
bec.Add(SecurityBindingElement.
CreateUserNameOverTransportBindingElement());
bec.Add(new TextMessageEncodingBindingElement());
bec.Add(new HttpsTransportBindingElement());
return new CustomBinding(bec);
}
' These public methods create custom bindings based on the built-in
' authentication modes that use the static methods of
' the System.ServiceModel.Channels.SecurityBindingElement class.
Public Shared Function CreateAnonymousForCertificateBinding() As Binding
Dim bec As New BindingElementCollection()
bec.Add(SecurityBindingElement.CreateAnonymousForCertificateBindingElement())
bec.Add(New TextMessageEncodingBindingElement())
bec.Add(New HttpTransportBindingElement())
Return New CustomBinding(bec)
End Function
Public Shared Function CreateAnonymousForSslNegotiatedBinding() As Binding
Dim bec As New BindingElementCollection()
bec.Add(SecurityBindingElement.CreateSslNegotiationBindingElement(False))
bec.Add(New TextMessageEncodingBindingElement())
bec.Add(New HttpTransportBindingElement())
Return New CustomBinding(bec)
End Function
Public Shared Function CreateCertificateOverTransportBinding() As Binding
Dim bec As New BindingElementCollection()
bec.Add(SecurityBindingElement.CreateCertificateOverTransportBindingElement())
bec.Add(New TextMessageEncodingBindingElement())
bec.Add(New HttpsTransportBindingElement())
Return New CustomBinding(bec)
End Function
Public Shared Function CreateIssuedTokenBinding() As Binding
Dim bec As New BindingElementCollection()
bec.Add(SecurityBindingElement.CreateIssuedTokenBindingElement( _
New IssuedSecurityTokenParameters()))
bec.Add(New TextMessageEncodingBindingElement())
bec.Add(New HttpTransportBindingElement())
Return New CustomBinding(bec)
End Function
Public Shared Function CreateIssuedTokenForCertificateBinding() As Binding
Dim bec As New BindingElementCollection()
bec.Add(SecurityBindingElement. _
CreateIssuedTokenForCertificateBindingElement( _
New IssuedSecurityTokenParameters()))
bec.Add(New TextMessageEncodingBindingElement())
bec.Add(New HttpTransportBindingElement())
Return New CustomBinding(bec)
End Function
Public Shared Function CreateIssuedTokenForSslNegotiatedBinding() As Binding
Dim bec As New BindingElementCollection()
bec.Add(SecurityBindingElement. _
CreateIssuedTokenForSslBindingElement( _
New IssuedSecurityTokenParameters()))
bec.Add(New TextMessageEncodingBindingElement())
bec.Add(New HttpTransportBindingElement())
Return New CustomBinding(bec)
End Function
Public Shared Function CreateIssuedTokenOverTransportBinding() As Binding
Dim bec As New BindingElementCollection()
bec.Add(SecurityBindingElement. _
CreateIssuedTokenOverTransportBindingElement( _
New IssuedSecurityTokenParameters()))
bec.Add(New TextMessageEncodingBindingElement())
bec.Add(New HttpsTransportBindingElement())
Return New CustomBinding(bec)
End Function
Public Shared Function CreateKerberosBinding() As Binding
Dim bec As New BindingElementCollection()
bec.Add(SecurityBindingElement.CreateKerberosBindingElement())
bec.Add(New TextMessageEncodingBindingElement())
bec.Add(New HttpTransportBindingElement())
Return New CustomBinding(bec)
End Function
Public Shared Function CreateKerberosOverTransportBinding() As Binding
Dim bec As New BindingElementCollection()
bec.Add(SecurityBindingElement. _
CreateKerberosOverTransportBindingElement())
bec.Add(New TextMessageEncodingBindingElement())
bec.Add(New HttpsTransportBindingElement())
Return New CustomBinding(bec)
End Function
Public Shared Function CreateMutualCertificateBinding() As Binding
Dim bec As New BindingElementCollection()
bec.Add(SecurityBindingElement.CreateMutualCertificateBindingElement())
bec.Add(New TextMessageEncodingBindingElement())
bec.Add(New HttpTransportBindingElement())
Return New CustomBinding(bec)
End Function
Public Shared Function CreateMutualCertificateDuplexBinding() As Binding
Dim bec As New BindingElementCollection()
bec.Add(SecurityBindingElement. _
CreateMutualCertificateDuplexBindingElement())
bec.Add(New CompositeDuplexBindingElement())
bec.Add(New OneWayBindingElement())
bec.Add(New TextMessageEncodingBindingElement())
bec.Add(New HttpTransportBindingElement())
Return New CustomBinding(bec)
End Function
Public Shared Function CreateMutualSslNegotiatedBinding() As Binding
Dim bec As New BindingElementCollection()
bec.Add(SecurityBindingElement. _
CreateSslNegotiationBindingElement(True))
bec.Add(New TextMessageEncodingBindingElement())
bec.Add(New HttpTransportBindingElement())
Return New CustomBinding(bec)
End Function
Public Shared Function CreateSecureConversationBinding() As Binding
Dim bec As New BindingElementCollection()
bec.Add(SecurityBindingElement. _
CreateSecureConversationBindingElement( _
SecurityBindingElement.CreateSspiNegotiationBindingElement()))
bec.Add(New TextMessageEncodingBindingElement())
bec.Add(New HttpTransportBindingElement())
Return New CustomBinding(bec)
End Function
Public Shared Function CreateSspiNegotiatedBinding() As Binding
Dim bec As New BindingElementCollection()
bec.Add(SecurityBindingElement.CreateSspiNegotiationBindingElement())
bec.Add(New TextMessageEncodingBindingElement())
bec.Add(New HttpTransportBindingElement())
Return New CustomBinding(bec)
End Function
Public Shared Function CreateSspiNegotiatedOverTransportBinding() As Binding
Dim bec As New BindingElementCollection()
bec.Add(SecurityBindingElement. _
CreateSspiNegotiationOverTransportBindingElement())
bec.Add(New TextMessageEncodingBindingElement())
bec.Add(New HttpsTransportBindingElement())
Return New CustomBinding(bec)
End Function
Public Shared Function CreateUserNameForCertificateBinding() As Binding
Dim bec As New BindingElementCollection()
bec.Add(SecurityBindingElement.CreateUserNameForCertificateBindingElement())
bec.Add(New TextMessageEncodingBindingElement())
bec.Add(New HttpTransportBindingElement())
Return New CustomBinding(bec)
End Function
Public Shared Function CreateUserNameForSslNegotiatedBinding() As Binding
Dim bec As New BindingElementCollection()
bec.Add(SecurityBindingElement.CreateUserNameForSslBindingElement())
bec.Add(New TextMessageEncodingBindingElement())
bec.Add(New HttpTransportBindingElement())
Return New CustomBinding(bec)
End Function 'CreateUserNameForSslNegotiatedBinding
Public Shared Function CreateUserNameOverTransportBinding() As Binding
Dim bec As New BindingElementCollection()
bec.Add(SecurityBindingElement.CreateUserNameOverTransportBindingElement())
bec.Add(New TextMessageEncodingBindingElement())
bec.Add(New HttpsTransportBindingElement())
Return New CustomBinding(bec)
End Function