web-dev-qa-db-ja.com

サイトの制限されたサブフォルダーに移動したときに、Windows Server 2012で資格情報を要求する方法

「ユーザー」グループには、ウェブサイト全体への読み取りアクセス権があるため、一般ユーザーは私のサイトを閲覧できます。これで、一般ユーザーがアクセスできないようにする「admin」サブフォルダーを作成しました。

そのため、フォルダのセキュリティ設定で「Users」グループに対するすべてを明確に拒否したため、www.mysite.com/adminにアクセスすると「401 Unauthorized」エラーが表示されます。

ログインして実際にそのフォルダ内のページを表示できるように、資格情報の入力を求める方法を除いて、これはかなり良いと思いますか?

Server 2003ではこれは自動的に機能していましたが、2012年には何かが変更されました。トリックは何ですか?

3
Vincent

IISで、基本認証を有効にします。

一覧にない場合は、サーバーマネージャーに移動し、[役割と機能の追加]から基本認証をインストールします。 (「Webサーバー(IIS)/ Webサーバー/セキュリティ/基本認証」の下にリストされています)。

Windows Server 2012

次に、次のコードを使用して、保護するフォルダー内にweb.configファイルを作成します。

<configuration>    
  <system.webServer>
    <security>
        <authentication>
            <anonymousAuthentication enabled="false" />
            <basicAuthentication enabled="true" />
        </authentication>
    </security>
  </system.webServer>
</configuration>

Windows Server 2016

Server 2016を使用しているユーザーのために、追加したいだけです。WindowsServer 2016では動作が異なります(バージョン間で同じことを行うことは禁じられています)。

Server 2016では、フォルダー内のweb.configからこれらの2つの認証設定を実際に削除します。

<configuration>
     <system.webServer>
        <security>
        <authentication>

        </authentication>
        </security>
    </system.webServer>
</configuration>

また、そのフォルダのセキュリティタブから「ユーザー」ユーザーを削除します。これにより、資格情報プロンプトが表示されます。

0
Vincent