REMOTE_USER 値をクエリ文字列に追加する URL 書き換えルールを作成する必要があります。私は自分のアプリを絶対的な必需品にまで単純化しました。ただし、ルール条件が評価されている間、REMOTE_USER は常に空です。
私の Web サイトは IIS 7 で構成されており、アプリ プールは .NET 2.0 との統合モードを使用しています。IISマネージャーを介してサイトで匿名認証を無効にし、Windows認証を有効にし、匿名アクセスを防ぐためにweb.configに行を追加しました。これが私の2つのファイルです。
web.config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<security>
<authorization>
<remove users="?" roles="" verbs="" />
</authorization>
</security>
<rewrite>
<rules>
<clear />
<rule name="Add login into URL" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="true">
<add input="{QUERY_STRING}" pattern="login" negate="true" />
<add input="{REMOTE_USER}" pattern="(.*)" />
</conditions>
<action type="Redirect" url="{HTTP_URL}?login={C:1}" redirectType="Temporary" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
デフォルト.asp
<%= Request.ServerVariables("REMOTE_USER") %>
条件が評価されるときに {REMOTE_USER} が常に空白であるため、私のルールはヒットしません (他のサーバー変数がルールに表示されるため、{REMOTE_USER} のみになります)。ねじれは、default.asp が私の REMOTE_USER 値を表示することです。
なぜこれが起こったのですか?ありがとうございました