「ユーザー」グループには、ウェブサイト全体への読み取りアクセス権があるため、一般ユーザーは私のサイトを閲覧できます。これで、一般ユーザーがアクセスできないようにする「admin」サブフォルダーを作成しました。
そのため、フォルダのセキュリティ設定で「Users」グループに対するすべてを明確に拒否したため、www.mysite.com/adminにアクセスすると「401 Unauthorized」エラーが表示されます。
ログインして実際にそのフォルダ内のページを表示できるように、資格情報の入力を求める方法を除いて、これはかなり良いと思いますか?
Server 2003ではこれは自動的に機能していましたが、2012年には何かが変更されました。トリックは何ですか?
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>
また、そのフォルダのセキュリティタブから「ユーザー」ユーザーを削除します。これにより、資格情報プロンプトが表示されます。