11

Visual Studio を使用してローカルで Web サイトをデバッグすると、web.config への変更が問題なく反映されます。

ただし、サーバー ホスト (IIS 7.5 を実行) で web.config に同じ変更を加えると、ブラウザーにロードすると、サイトがまだ web.config の古いバージョンで実行されているように見えます。新しい変更は適用されません。

IIS マネージャーを使用して、サーバー上でサイトのアプリケーション プールを停止および開始しようとしましたが、まだ変化がありません。IIS の停止と開始も試みましたが、どちらも機能していません。

web.config に加えている変更には、ブロック内のエントリを削除して、ユーザーを許可および拒否することが含まれます。現在、資格情報の入力を求めるように設定されており、有効であれば、サイトにアクセスできます。そうでない場合、アクセスは拒否されます。私が行おうとしている変更は、すべてのユーザーにアクセスを許可し、資格情報の入力を求めないようにすることです。

前:

<authorization>
  <deny users="?" />
  <allow roles="admins" />
  <deny users="*" />
</authorization>

後:

<authorization>
  <allow users="*" />
</authorization>

これの理由は何ですか?

4

7 に答える 7

2

(IIS サーバー上の) ファイル システムを介して直接 Web.config を変更しようとすると、変更が保存されず、適用されないことがわかりました。ホストサーバー上のIISにアクセスできる場合、これは私にとってうまくいくことがわかったものです:

注:これらの手順は、Windows Server 2012 上の IIS 8 に基づいていますが、IIS 7.5 でも機能する場合があります。

  1. ホスト サーバーの IIS マネージャーに移動します。
  2. アプリケーションが見つかるまで、サイトをドリルダウンします
  3. Features ビューを使用して、Authorization Rules をダブルクリックします。
  4. [アクション] パネル (右側) の[許可ルールを追加...]リンクと[拒否ルールを追加...] リンクを使用して、すべての承認ルールを構成します。

このプロセスにより、Web.config が更新されます。ルールを編集または削除する必要がある場合は、該当するルールをクリックし、[アクション] パネルの [編集... ]または[削除]リンクをクリックします。

これが役立つことを願っています。

于 2016-01-21T19:38:47.807 に答える
0

サーバーから web.config ファイルをコピーしてローカル マシンに配置し、要件に従って変更します。次に、サーバーの web.config ファイルを削除し、変更した web.config をローカル マシンからサーバーにコピー アンド ペーストします。

これは私にとってはうまくいきますが、私にとっては接続文字列が問題でした。

于 2016-06-18T05:48:07.490 に答える