0

SQLサーバー2008に接続して挿入、更新、削除、選択などの操作を行うWCFサービスプロジェクトがあります。IIS では、サーバーのレジストリに保存されている専用のシステム アカウントを使用して、SQL サーバーへの接続を確立したいと考えています。サーバーのレジストリからユーザーIDとパスワードを取得するために、WCF web.configで次のコードを使用しています

<System.web>
<identity impersonate="true"      userName="registry:HKLM\SOFTWARE\MY_SECURE_APP\acctopsmain\ASPNET_SETREG,userName" password="registry:HKLM\SOFTWARE\MY_SECURE_APP\acctopsmain\ASPNET_SETREG,password" />
</system.web>

ユーザー "ドメイン\サーバー名" のログインに失敗しましたというエラー メッセージが表示されます

IIS サーバーの認証レベルは匿名認証です

どんな助けでも大歓迎です。ありがとう、ヨギ

4

1 に答える 1

0

良いアプローチかどうかはわかりませんが、次の手順を使用して問題を解決しました。

<system.serviceModel>
    <serviceHostingEnvironment aspNetCompatibilityEnabled="True">
    </serviceHostingEnvironment>
    <services>
      <service name="Service" behaviorConfiguration="ServiceBehavior">
        <endpoint address="" binding="basicHttpBinding" contract="IService">
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="ServiceBehavior">
          ........some othere setting
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>

system.web の下に I を追加します。次のコードを使用します。

<system.web>
   <authorization>
        <allow users="?"/>
      </authorization>
  <identity impersonate="true"      userName="registry:HKLM\SOFTWARE\MY_SECURE_APP\acctopsmain\ASPNET_SETREG,userName" password="registry:HKLM\SOFTWARE\MY_SECURE_APP\acctopsmain\ASPNET_SETREG,password" />
</system.web> 

追加した Service.vb クラスに

<AspNetCompatibilityRequirements(RequirementsMode:=AspNetCompatibilityRequirementsMode.Required)> _
Public Class Service Implements IService
于 2014-02-05T12:17:19.260 に答える