-1

Windows認証を使用したWCFWebサービスがあります。

バインディング

<bindings>
  <netTcpBinding>
    <binding name="CommonWindowsBinding" maxReceivedMessageSize="40000000" >
      <security mode="Transport">
        <transport clientCredentialType="Windows" />
      </security>
    </binding>
  </netTcpBinding>

</bindings>

終点

    <endpoint address="Windows"
              binding="netTcpBinding" 
              bindingConfiguration="CommonWindowsBinding" 
              name="MyNameSpace.Contracts.ISimplePluginServiceWindows" 
              contract="MyNameSpace.Contracts.ISimplePluginService">
      <identity>
        <dns value="WCfServer" />
      </identity>
    </endpoint>

このような認証のためにサービスに追加情報を渡したい(MS SQL Serverのユーザーとログインをチェックして認証をチェックします-mssqlサーバー名とデータベース名を渡す必要があります)。したがって、いくつかのカスタムデータをバリデーターに渡す必要があります=>Windows認証用のカスタムバリデーターを作成する必要があります。どうすればいいですか?例が見つかりませんでした。

UserNameの認証には、UserNamePasswordValidatorを継承するCustomUserNameValidator(ログイン時にサーバーアドレスとデータベース名を渡す)を使用して行うことができます。

4

2 に答える 2

1

Windows認証はWindows(EG Kerberos)です。自分で認証を行いたい場合は、パスワードを使用してください。ただし、追加情報を渡すことはできないと思います。そして、本当にサーバーアドレスとデータベース名をサーバーに渡したいですか?

クレデンシャルタイプの選択

于 2012-07-30T12:58:45.070 に答える
0

私はそれが一般的に間違ったアプローチであることに気づきました。

  1. 委任を使用して、WCFサービスから現在のWindowsユーザーの資格情報を使用してMSSQLサーバーに認証できます-http ://msdn.microsoft.com/en-en/library/ms730088.aspx

  2. 追加のデータ(サーバー名やデータベース名など)を渡す必要がある場合は、サービス契約で特別な方法を使用してそのようなアクションを実行する必要があります。

于 2012-08-03T14:31:09.050 に答える