そのため、Windows認証を必要とする内部Webサイトをセットアップしようとしています-それらの資格情報がプロキシサーバーに使用されるように.
このコードは、プロキシ サーバーの設定で Rally API を呼び出しています。
var webProxy = new WebProxy(WebConfigurationManager.AppSettings["WebProxyUrl"], Convert.ToInt32(WebConfigurationManager.AppSettings["WebProxyPort"])) { UseDefaultCredentials = true };
var restApi = new RallyRestApi(username, password, webServiceUrl, webServiceVersion, webProxy);
サーバーにデプロイした後、次のエラー メッセージが表示されます。
リモート サーバーがエラーを返しました: (407) プロキシ認証が必要です。
個人アカウントを使用するようにアプリ プールを変更すると、サイトは正常に動作します。ただし、自分のアカウントをそれに結び付けたくありません。
Windows資格情報でログインするように促されていないようなので、それを詰め込んでしまったのではないかと思っています。私のweb.configには以下が含まれています:
<?xml version="1.0"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<appSettings>
<add key="webpages:Version" value="2.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="PreserveLoginUrl" value="true" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<add key="RallyWebserviceUrl" value="https://rally1.rallydev.com" />
<add key="RallyWebserviceVersion" value="1.39" />
<add key="RallyUsername" value="REMOVED" />
<add key="RallyPassword" value="REMOVED" />
<add key="RallyPageSize" value="50" />
<add key="WebProxyUrl" value="REMOVED" />
<add key="WebProxyPort" value="8080" />
<add key="BacklogRallyProject" value="REMOVED" />
<add key="CurrentWorkRallyProject" value="REMOVED" />
</appSettings>
<system.web>
<authentication mode="Windows"/>
<pages>
<namespaces>
<add namespace="System.Web.Routing"/>
</namespaces>
</pages>
<profile defaultProvider="DefaultProfileProvider">
<providers>
<add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/"/>
</providers>
</profile>
<membership defaultProvider="DefaultMembershipProvider">
<providers>
<add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/"/>
</providers>
</membership>
<roleManager defaultProvider="DefaultRoleProvider">
<providers>
<add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/"/>
</providers>
</roleManager>
<!--
If you are deploying to a cloud environment that has multiple web server instances,
you should change session state mode from "InProc" to "Custom". In addition,
change the connection string named "DefaultConnection" to connect to an instance
of SQL Server (including SQL Azure and SQL Compact) instead of to SQL Server Express.
-->
<sessionState mode="InProc" customProvider="DefaultSessionProvider">
<providers>
<add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection"/>
</providers>
</sessionState>
<compilation debug="true"/>
</system.web>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules runAllManagedModulesForAllRequests="true"/>
<handlers>
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit"/>
<remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit"/>
<remove name="ExtensionlessUrlHandler-Integrated-4.0"/>
<add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0"/>
<add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0"/>
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
</handlers>
</system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0"/>
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
編集 - ここのほとんどの手順に従って、サイトの Windows 認証を設定しようとしました: http://usa.autodesk.com/adsk/servlet/ps/dl/item?siteID=123112&id=15739768&linkID=9261340
dos プロンプト コマンドが機能しません。ただし、変更により、認証のために詳細を入力する必要がありますが、ユーザー名とパスワードを正しく入力しても失敗します(他の誰かに試してもらい、彼らも失敗しました)。発生している可能性のあるクロスドメインの問題もあると思います。ユーザー名でログオンすることはできませんが、古いドメインでユーザー名を使用すると (マシンが古いドメインの一部であるため)、そのログインは機能しますが、すべてのユーザー アカウントは新しいドメインにあります。