Delegálás és megszemélyesítés a WCF-lel
A megszemélyesítés egy gyakori technika, amellyel a szolgáltatások korlátozhatják az ügyfél hozzáférését egy szolgáltatástartomány erőforrásaihoz. A szolgáltatástartomány erőforrásai lehetnek gépi erőforrások, például helyi fájlok (megszemélyesítés) vagy egy másik gépen lévő erőforrás, például fájlmegosztás (delegálás). Egy mintaalkalmazást az ügyfél megszemélyesítésével kapcsolatban talál. Példa a megszemélyesítés használatára: Hogyan lehet megszemélyesíteni egy ügyfelet egy szolgáltatásban.
Fontos
Vegye figyelembe, hogy amikor egy ügyfél megszemélyesít egy szolgáltatást, a szolgáltatás az ügyfél hitelesítő adataival fut, amelyek magasabb jogosultságokkal rendelkezhetnek, mint a kiszolgálói folyamat.
Áttekintés
Az ügyfelek általában meghívnak egy szolgáltatást, hogy a szolgáltatás valamilyen műveletet hajtson végre az ügyfél nevében. A megszemélyesítés lehetővé teszi, hogy a szolgáltatás ügyfélként működjön a művelet végrehajtása közben. A delegálás lehetővé teszi, hogy az előtérbeli szolgáltatás továbbíthassa az ügyfél kérését egy háttérszolgáltatásnak oly módon, hogy a háttérszolgáltatás megszemélyesítse az ügyfelet is. A megszemélyesítést leggyakrabban annak ellenőrzésére használják, hogy az ügyfél jogosult-e egy adott művelet végrehajtására, míg a delegálás a megszemélyesítési képességek és az ügyfél identitásának egy háttérszolgáltatásba való áramlásának módja. A delegálás egy Windows-tartományi funkció, amely Kerberos-alapú hitelesítés végrehajtásakor használható. A delegálás eltér az identitásfolyamattól, és mivel a delegálás lehetővé teszi az ügyfél megszemélyesítését az ügyfél jelszavának birtoklása nélkül, ez sokkal magasabb jogosultsági szintű művelet, mint az identitásfolyamat.
A megszemélyesítéshez és a delegáláshoz az ügyfélnek Windows-identitással kell rendelkeznie. Ha egy ügyfél nem rendelkezik Windows-identitással, akkor az egyetlen lehetőség az ügyfél identitásának a második szolgáltatásba való áramlása.
Megszemélyesítés alapjai
A Windows Communication Foundation (WCF) számos ügyfél-hitelesítő adat megszemélyesítését támogatja. Ez a témakör a szolgáltatásmodellek támogatását ismerteti a hívó megszemélyesítéséhez egy szolgáltatásmódszer megvalósítása során. Ezek a forgatókönyvek a megszemélyesítést, a SOAP-biztonságot és a WCF-lehetőségeket érintő gyakori üzembe helyezési forgatókönyveket is ismertetik.
Ez a témakör a WCF-ben való megszemélyesítésre és delegálásra összpontosít a SOAP-biztonság használatakor. A WCF-hez való megszemélyesítést és delegálást is használhatja a szállítási biztonság használatakor, a Megszemélyesítés használata a Transport Security szolgáltatással című cikkben leírtak szerint.
Két módszer
A WCF SOAP biztonsága két különböző módszert kínál a megszemélyesítés végrehajtására. A használt módszer a kötéstől függ. Az egyik a biztonsági támogatási szolgáltató felületéről (SSPI) vagy Kerberos-hitelesítésből beszerzett Windows-jogkivonatból való megszemélyesítés, amelyet aztán gyorsítótáraznak a szolgáltatásban. A második a Kerberos-bővítményekből beszerzett Windows-jogkivonat megszemélyesítése, amelyet együttesen Service-for-User (S4U) néven neveznek.
Gyorsítótárazott jogkivonat megszemélyesítése
A gyorsítótárazott jogkivonat megszemélyesítését a következőkkel hajthatja végre:
WSHttpBinding, WSDualHttpBindingés NetTcpBinding egy Windows-ügyfél hitelesítő adataival.
BasicHttpBindingBasicHttpSecurityMode egy hitelesítő adatkészlettel TransportWithMessageCredential vagy bármely más szabványos kötéssel, amelyben az ügyfél egy felhasználónevet tartalmazó hitelesítő adatot mutat be, amelyet a szolgáltatás leképezhet egy érvényes Windows-fiókra.
Minden CustomBinding olyan, amely Windows-ügyfél hitelesítő adatait használja a
requireCancellation
következő beállítássaltrue
: . (A tulajdonság a következő osztályokban érhető el: SecureConversationSecurityTokenParameters, SslSecurityTokenParametersés SspiSecurityTokenParameters.) Ha biztonságos beszélgetést használ a kötésen, akkor a tulajdonságnak is be kell állítaniatrue
.requireCancellation
Minden CustomBinding olyan, ahol az ügyfél felhasználónevet ad meg hitelesítő adatokkal. Ha biztonságos beszélgetést használ a kötésen, akkor a tulajdonságnak is be kell állítania
true
.requireCancellation
S4U-alapú megszemélyesítés
S4U-alapú megszemélyesítést a következőkkel hajthat végre:
WSHttpBinding, WSDualHttpBindingvalamint NetTcpBinding egy tanúsítványügyfél hitelesítő adataival, amelyet a szolgáltatás le tud képezni egy érvényes Windows-fiókra.
Azok CustomBinding , amelyek Windows-ügyfél hitelesítő adatokat használnak, és a
requireCancellation
tulajdonság értéke a következőfalse
.BármelyCustomBinding, amely felhasználónevet vagy Windows-ügyfél hitelesítő adatait és biztonságos beszélgetését használja a következő tulajdonsággal
false
: .requireCancellation>
Az ügyfél megszemélyesítésének mértéke attól függ, hogy a szolgáltatásfiók milyen jogosultságokkal rendelkezik a megszemélyesítési kísérlet során, a használt megszemélyesítés típusától és esetleg az ügyfél által engedélyezett megszemélyesítés mértékétől.
Feljegyzés
Ha az ügyfél és a szolgáltatás ugyanazon a számítógépen fut, Local System
Network Service
és az ügyfél egy rendszerfiók alatt fut (például), az ügyfél nem személyíthető meg, ha egy biztonságos munkamenet állapotalapú biztonsági környezet-jogkivonatokkal van létrehozva. A Windows-űrlap- vagy konzolalkalmazások általában az aktuálisan bejelentkezett fiók alatt futnak, így a fiók alapértelmezés szerint megszemélyesíthető. Ha azonban az ügyfél egy ASP.NET lap, és az IIS 6.0-s vagy IIS 7.0-s verziójában van üzemeltetve, akkor az ügyfél alapértelmezés szerint a Network Service
fiók alatt fut. A biztonságos munkameneteket támogató összes rendszer által biztosított kötés alapértelmezés szerint állapot nélküli biztonsági környezeti jogkivonatot (SCT) használ. Ha azonban az ügyfél egy ASP.NET lap, és állapotalapú SCT-kkel rendelkező biztonságos munkameneteket használ, az ügyfél nem személyesíthető meg. Az állapotalapú SCT-k biztonságos munkamenetben való használatával kapcsolatos további információkért lásd : Biztonsági környezet jogkivonatának létrehozása biztonságos munkamenethez.
Megszemélyesítés szolgáltatásmetódusban: Deklaratív modell
A legtöbb megszemélyesítési forgatókönyv magában foglalja a szolgáltatás metódusának a hívó környezetben való végrehajtását. A WCF egy megszemélyesítési funkciót biztosít, amely megkönnyíti ezt azáltal, hogy lehetővé teszi a felhasználó számára a megszemélyesítési követelmény megadását az OperationBehaviorAttribute attribútumban. Az alábbi kódban például a WCF-infrastruktúra megszemélyesíti a hívót a Hello
metódus végrehajtása előtt. A metóduson belüli Hello
natív erőforrások elérésére tett kísérletek csak akkor sikeresek, ha az erőforrás hozzáférés-vezérlési listája (ACL) engedélyezi a hívó hozzáférési jogosultságait. A megszemélyesítés engedélyezéséhez állítsa a Impersonation tulajdonságot az ImpersonationOption enumerálási értékek egyikére, ImpersonationOption.Required vagy ImpersonationOption.Allowedaz alábbi példában látható módon.
Feljegyzés
Ha egy szolgáltatás magasabb hitelesítő adatokkal rendelkezik, mint a távoli ügyfél, a szolgáltatás hitelesítő adatait használja a rendszer, ha a Impersonation tulajdonság értéke Allowed. Vagyis ha egy alacsony jogosultságú felhasználó megadja a hitelesítő adatait, egy magasabb jogosultságú szolgáltatás végrehajtja a metódust a szolgáltatás hitelesítő adataival, és olyan erőforrásokat használhat, amelyeket az alacsony jogosultságú felhasználó egyébként nem használhatna.
[ServiceContract]
public interface IHelloContract
{
[OperationContract]
string Hello(string message);
}
public class HelloService : IHelloService
{
[OperationBehavior(Impersonation = ImpersonationOption.Required)]
public string Hello(string message)
{
return "hello";
}
}
<ServiceContract()> _
Public Interface IHelloContract
<OperationContract()> _
Function Hello(ByVal message As String) As String
End Interface
Public Class HelloService
Implements IHelloService
<OperationBehavior(Impersonation:=ImpersonationOption.Required)> _
Public Function Hello(ByVal message As String) As String Implements IHelloService.Hello
Return "hello"
End Function
End Class
A WCF-infrastruktúra csak akkor tudja megszemélyesíteni a hívót, ha a hívó hitelesítése windowsos felhasználói fiókra leképezhető hitelesítő adatokkal történik. Ha a szolgáltatás olyan hitelesítő adatok hitelesítésére van konfigurálva, amelyek nem képezhetők le Windows-fiókra, a szolgáltatás metódusa nem lesz végrehajtva.
Feljegyzés
Windows XP rendszeren a megszemélyesítés meghiúsul, ha egy állapotalapú SCT jön létre, ami egy InvalidOperationException. További információ: Nem támogatott forgatókönyvek.
Megszemélyesítés szolgáltatásmetódusban: Imperatív modell
Előfordulhat, hogy a hívónak nem kell megszemélyesítenie a teljes szolgáltatásmetódust a működéshez, hanem csak egy részéért. Ebben az esetben szerezze be a hívó Windows-identitását a szolgáltatásmódszeren belül, és feltétlenül hajtsa végre a megszemélyesítést. Ehhez használja a tulajdonságot az WindowsIdentityServiceSecurityContext osztály egy példányának WindowsIdentity visszaadásához, és hívja meg a Impersonate metódust a példány használata előtt.
Feljegyzés
Ügyeljen arra, hogy a Visual BasicUsing
utasítás vagy a C# using
utasítás használatával automatikusan visszaállítsa a megszemélyesítési műveletet. Ha nem használja az utasítást, vagy ha nem Visual Basic vagy C# programozási nyelvet használ, mindenképpen állítsa vissza a megszemélyesítési szintet. Ennek elmulasztása a szolgáltatásmegtagadás és a jogosultsági támadások emelése alapját képezheti.
public class HelloService : IHelloService
{
[OperationBehavior]
public string Hello(string message)
{
WindowsIdentity callerWindowsIdentity =
ServiceSecurityContext.Current.WindowsIdentity;
if (callerWindowsIdentity == null)
{
throw new InvalidOperationException
("The caller cannot be mapped to a WindowsIdentity");
}
using (callerWindowsIdentity.Impersonate())
{
// Access a file as the caller.
}
return "Hello";
}
}
Public Class HelloService
Implements IHelloService
<OperationBehavior()> _
Public Function Hello(ByVal message As String) As String _
Implements IHelloService.Hello
Dim callerWindowsIdentity As WindowsIdentity = _
ServiceSecurityContext.Current.WindowsIdentity
If (callerWindowsIdentity Is Nothing) Then
Throw New InvalidOperationException( _
"The caller cannot be mapped to a WindowsIdentity")
End If
Dim cxt As WindowsImpersonationContext = callerWindowsIdentity.Impersonate()
Using (cxt)
' Access a file as the caller.
End Using
Return "Hello"
End Function
End Class
Megszemélyesítés az összes szolgáltatásmódszerhez
Bizonyos esetekben a szolgáltatás összes metódusát el kell végeznie a hívó környezetében. A funkció metódusonkénti explicit engedélyezése helyett használja a ServiceAuthorizationBehavior. Az alábbi kódban látható módon állítsa a tulajdonságot a ImpersonateCallerForAllOperations következőre true
: . A ServiceAuthorizationBehavior rendszer lekéri az osztály viselkedési gyűjteményéből ServiceHost . Azt is vegye figyelembe, hogy az Impersonation
OperationBehaviorAttribute egyes metódusokra alkalmazott tulajdonságnak vagy Allowed a Required.
// Code to create a ServiceHost not shown.
ServiceAuthorizationBehavior MyServiceAuthorizationBehavior =
serviceHost.Description.Behaviors.Find<ServiceAuthorizationBehavior>();
MyServiceAuthorizationBehavior.ImpersonateCallerForAllOperations = true;
' Code to create a ServiceHost not shown.
Dim MyServiceAuthorizationBehavior As ServiceAuthorizationBehavior
MyServiceAuthorizationBehavior = serviceHost.Description.Behaviors.Find _
(Of ServiceAuthorizationBehavior)()
MyServiceAuthorizationBehavior.ImpersonateCallerForAllOperations = True
Az alábbi táblázat a WCF viselkedését ismerteti az összes lehetséges kombináció ImpersonationOption
és ImpersonateCallerForAllServiceOperations
.
ImpersonationOption |
ImpersonateCallerForAllServiceOperations |
Működés |
---|---|---|
Kötelező | n.a. | A WCF megszemélyesíti a hívót |
Engedélyezve | false | A WCF nem adja meg a hívót |
Engedélyezve | true | A WCF megszemélyesíti a hívót |
Nem engedélyezett | false | A WCF nem adja meg a hívót |
Nem engedélyezett | true | Nem engedélyezett. (Egy InvalidOperationException dobás.) |
Megszemélyesítési szint a Windows hitelesítő adataiból és a gyorsítótárazott token megszemélyesítéséből
Bizonyos esetekben az ügyfél részlegesen szabályozhatja a szolgáltatás által a Windows-ügyfél hitelesítő adatainak használatakor végrehajtott megszemélyesítés szintjét. Az egyik eset akkor fordul elő, ha az ügyfél névtelen megszemélyesítési szintet ad meg. A másik akkor fordul elő, ha megszemélyesítést hajt végre egy gyorsítótárazott jogkivonattal. Ez az osztály tulajdonságának beállításával AllowedImpersonationLevel történik, amely az WindowsClientCredential általános ChannelFactory<TChannel> osztály tulajdonságaként érhető el.
Feljegyzés
A Névtelen megszemélyesítési szintjének megadása miatt az ügyfél névtelenül jelentkezik be a szolgáltatásba. A szolgáltatásnak ezért engedélyeznie kell a névtelen bejelentkezéseket, függetlenül attól, hogy megszemélyesítés történik-e.
Az ügyfél megadhatja a megszemélyesítési szintet Anonymous: , Identification, Impersonationvagy Delegation. A rendszer csak a megadott szintű jogkivonatot hozza létre, ahogyan az az alábbi kódban is látható.
ChannelFactory<IEcho> cf = new ChannelFactory<IEcho>("EchoEndpoint");
cf.Credentials.Windows.AllowedImpersonationLevel =
System.Security.Principal.TokenImpersonationLevel.Impersonation;
Dim cf As ChannelFactory(Of IEcho) = New ChannelFactory(Of IEcho)("EchoEndpoint")
cf.Credentials.Windows.AllowedImpersonationLevel = _
System.Security.Principal.TokenImpersonationLevel.Impersonation
Az alábbi táblázat azt a megszemélyesítési szintet határozza meg, amit a szolgáltatás a gyorsítótárazott jogkivonatból való megszemélyesítéskor szerez be.
AllowedImpersonationLevel Érték |
A szolgáltatás rendelkezik SeImpersonatePrivilege |
A szolgáltatás és az ügyfél képes delegálásra | Gyorsítótárazott jogkivonat ImpersonationLevel |
---|---|---|---|
Névtelen | Igen | n.a. | Megszemélyesítés |
Névtelen | Nem | n.a. | Azonosítás |
Azonosítás | n.a. | n.a. | Azonosítás |
Megszemélyesítés | Igen | n.a. | Megszemélyesítés |
Megszemélyesítés | Nem | n.a. | Azonosítás |
Delegálás | Igen | Igen | Delegálás |
Delegálás | Igen | Nem | Megszemélyesítés |
Delegálás | Nem | n.a. | Azonosítás |
A felhasználónév hitelesítő adataiból és a gyorsítótárazott token megszemélyesítéséből nyert megszemélyesítési szint
A szolgáltatás felhasználónevének és jelszavának átadásával az ügyfél lehetővé teszi a WCF számára, hogy felhasználóként jelentkezzen be, ami egyenértékű a AllowedImpersonationLevel
tulajdonság Delegationbeállításával. (Ez AllowedImpersonationLevel
elérhető az osztályokon és HttpDigestClientCredential az WindowsClientCredential osztályokon.) Az alábbi táblázat azt a megszemélyesítési szintet tartalmazza, amelyet akkor kapunk, amikor a szolgáltatás felhasználónevet kap.
AllowedImpersonationLevel |
A szolgáltatás rendelkezik SeImpersonatePrivilege |
A szolgáltatás és az ügyfél képes delegálásra | Gyorsítótárazott jogkivonat ImpersonationLevel |
---|---|---|---|
n.a. | Igen | Igen | Delegálás |
n.a. | Igen | Nem | Megszemélyesítés |
n.a. | Nem | n.a. | Azonosítás |
S4U-alapú megszemélyesítésből nyert megszemélyesítési szint
A szolgáltatás rendelkezik SeTcbPrivilege |
A szolgáltatás rendelkezik SeImpersonatePrivilege |
A szolgáltatás és az ügyfél képes delegálásra | Gyorsítótárazott jogkivonat ImpersonationLevel |
---|---|---|---|
Igen | Igen | n.a. | Megszemélyesítés |
Igen | Nem | n.a. | Azonosítás |
Nem | n.a. | n.a. | Azonosítás |
Ügyféltanúsítvány hozzárendelése Windows-fiókhoz
Az ügyfél tanúsítvány használatával hitelesítheti magát egy szolgáltatásban, és a szolgáltatás leképezheti az ügyfelet egy meglévő fiókra az Active Directoryn keresztül. Az alábbi XML bemutatja, hogyan konfigurálhatja a szolgáltatást a tanúsítvány megfeleltetésére.
<behaviors>
<serviceBehaviors>
<behavior name="MapToWindowsAccount">
<serviceCredentials>
<clientCertificate>
<authentication mapClientCertificateToWindowsAccount="true" />
</clientCertificate>
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
Az alábbi kód bemutatja, hogyan konfigurálhatja a szolgáltatást.
// Create a binding that sets a certificate as the client credential type.
WSHttpBinding b = new WSHttpBinding();
b.Security.Message.ClientCredentialType = MessageCredentialType.Certificate;
// Create a service host that maps the certificate to a Windows account.
Uri httpUri = new Uri("http://localhost/Calculator");
ServiceHost sh = new ServiceHost(typeof(HelloService), httpUri);
sh.Credentials.ClientCertificate.Authentication.MapClientCertificateToWindowsAccount = true;
Delegálás
A háttérszolgáltatásba való delegáláshoz a szolgáltatásnak kerberos több lábon (NTLM-tartalék nélküli SSPI- vagy Kerberos-közvetlen hitelesítést) kell végrehajtania a háttérszolgáltatáshoz az ügyfél Windows-identitásával. Ha egy háttérszolgáltatásba szeretne delegálni, hozzon létre egy ChannelFactory<TChannel> és egy csatornát, majd kommunikáljon a csatornán keresztül, miközben megszemélyesíti az ügyfelet. Ezzel a delegálási formával a háttérszolgáltatás az előtérbeli szolgáltatás által elért megszemélyesítési szinttől függ. Ha a megszemélyesítési szint az Impersonation, az előtér- és háttérszolgáltatásoknak ugyanazon a gépen kell futniuk. Ha a megszemélyesítési szint az Delegation, az előtér- és háttérszolgáltatások külön gépeken vagy ugyanazon a gépen is lehetnek. A delegálási szintű megszemélyesítés engedélyezéséhez konfigurálnia kell a Windows tartományi házirendet a delegálás engedélyezéséhez. További információ az Active Directory delegálási támogatáshoz való konfigurálásáról: A delegált hitelesítés engedélyezése.
Feljegyzés
Ha az ügyfél a háttérszolgáltatás Windows-fiókjának megfelelő felhasználónévvel és jelszóval hitelesíti az előtérszolgáltatást, az előtér-szolgáltatás az ügyfél felhasználóneve és jelszava újrahasználásával hitelesítheti magát a háttérszolgáltatásban. Ez az identitásáramlás különösen hatékony formája, mivel a felhasználónév és a jelszó háttérszolgáltatásnak való átadása lehetővé teszi a háttérszolgáltatás számára a megszemélyesítést, de ez nem jelenti a delegálást, mert a Kerberos nincs használatban. A delegálás Active Directory-vezérlői nem vonatkoznak a felhasználónévre és a jelszó-hitelesítésre.
Delegálási képesség a megszemélyesítési szint függvényeként
Megszemélyesítés szintje | A szolgáltatás folyamatközi delegálást hajthat végre | A szolgáltatás gépközi delegálást hajthat végre |
---|---|---|
Identification | Nem | Nem |
Impersonation | Igen | Nem |
Delegation | Igen | Igen |
Az alábbi példakód bemutatja a delegálás használatát.
public class HelloService : IHelloService
{
[OperationBehavior(Impersonation = ImpersonationOption.Required)]
public string Hello(string message)
{
WindowsIdentity callerWindowsIdentity = ServiceSecurityContext.Current.WindowsIdentity;
if (callerWindowsIdentity == null)
{
throw new InvalidOperationException
("The caller cannot be mapped to a Windows identity.");
}
using (callerWindowsIdentity.Impersonate())
{
EndpointAddress backendServiceAddress = new EndpointAddress("http://localhost:8000/ChannelApp");
// Any binding that performs Windows authentication of the client can be used.
ChannelFactory<IHelloService> channelFactory = new ChannelFactory<IHelloService>(new NetTcpBinding(), backendServiceAddress);
IHelloService channel = channelFactory.CreateChannel();
return channel.Hello(message);
}
}
}
Public Class HelloService
Implements IHelloService
<OperationBehavior(Impersonation:=ImpersonationOption.Required)> _
Public Function Hello(ByVal message As String) As String Implements IHelloService.Hello
Dim callerWindowsIdentity As WindowsIdentity = ServiceSecurityContext.Current.WindowsIdentity
If (callerWindowsIdentity Is Nothing) Then
Throw New InvalidOperationException("The caller cannot be mapped to a Windows identity.")
End If
Dim backendServiceAddress As EndpointAddress = New EndpointAddress("http://localhost:8000/ChannelApp")
' Any binding that performs Windows authentication of the client can be used.
Dim channelFactory As ChannelFactory(Of IHelloService) = _
New ChannelFactory(Of IHelloService)(New NetTcpBinding(), backendServiceAddress)
Dim channel As IHelloService = channelFactory.CreateChannel()
Return channel.Hello(message)
End Function
End Class
Alkalmazás konfigurálása korlátozott delegálás használatára
A korlátozott delegálás használatához konfigurálni kell a feladót, a fogadót és a tartományvezérlőt. Az alábbi eljárás a korlátozott delegálás engedélyezésének lépéseit sorolja fel. A delegálás és a korlátozott delegálás közötti különbségekről további információt a Windows Server 2003 Kerberos-bővítmények azon része tartalmaz, amely a korlátozott vitafórumot tárgyalja.
A tartományvezérlőn törölje a jelet, hogy a fiók bizalmas, és nem delegálható annak a fióknak a jelölőnégyzete, amelyen az ügyfélalkalmazás fut.
A tartományvezérlőn jelölje be a megbízható fiók delegálásához jelölőnégyzetet ahhoz a fiókhoz, amelyen az ügyfélalkalmazás fut.
A tartományvezérlőn konfigurálja a középső szintű számítógépet úgy, hogy az megbízható legyen a delegáláshoz. Ehhez kattintson a Delegálási számítógép megbízhatósága lehetőségre.
A tartományvezérlőn konfigurálja úgy a középső rétegbeli számítógépet, hogy korlátozott delegálást használjon. Ehhez kattintson a Számítógép megbízhatósága a delegáláshoz csak a megadott szolgáltatásokra lehetőségre.
A korlátozott delegálás konfigurálásával kapcsolatos részletesebb utasításokért lásd: Kerberos Protocol Transition and Constrained Delegálás.
Lásd még
- OperationBehaviorAttribute
- Impersonation
- ImpersonationOption
- WindowsIdentity
- ServiceSecurityContext
- WindowsIdentity
- ServiceAuthorizationBehavior
- ImpersonateCallerForAllOperations
- ServiceHost
- AllowedImpersonationLevel
- WindowsClientCredential
- ChannelFactory<TChannel>
- Identification
- Megszemélyesítés használata a Transport Security használatával
- Az ügyfél megszemélyesítése
- Útmutató: Ügyfél megszemélyesítése szolgáltatáson
- ServiceModel Metadata Segédprogram (Svcutil.exe)