1

WCFサービスとプロキシでカスタムバインディングを使用しています。DuplexClientbaseから継承してプロキシを作成しています。メソッドを呼び出したユーザー名を取得するのに役立つオプションがWCFにありますか?

これが私のバインディングです

<bindings>
    <customBinding>
        <binding name="CustomPipeBinding" maxConnections="10" openTimeout="01:20:00" receiveTimeout="20.00:00:00" sendTimeout="01:20:00" closeTimeout="01:20:00">
            <windowsStreamSecurity protectionLevel="None" />
            <namedPipeTransport maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" />
        </binding>
        <binding name="CustomTcpBinding" maxConnections="10" openTimeout="01:20:00" receiveTimeout="20.00:00:00" sendTimeout="00:05:00" closeTimeout="01:20:00">
            <windowsStreamSecurity protectionLevel="None" />
            <reliableSession />
            <tcpTransport maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647"/>
        </binding>
    </customBinding>
</bindings>
4

1 に答える 1

0

この MSDN 記事で概説されているように、偽装を要求するようにサービスを構成する必要があります。カスタム バインドを定義しているため、WCF がクライアントからサービスに Windows 資格情報を渡すことができるように、必要なセキュリティ要素の構成を追加する必要があります。

サービス コードでは、ServiceSecurityContext.Current.WindowsIdentity静的プロパティにアクセスして必要なものを取得する必要があります。

于 2012-09-04T18:54:39.993 に答える