自宅では、Windows Server 2012とIIS8(ADなし)で実行されている小さなサーバーがあります。サーバー上の一部のユーザーが共有ファイルディレクトリにアクセスして、https経由でダウンロードできるようにしたいと思います。
IISマネージャーでWebサイトを作成し、ベースディレクトリを共有フォルダーに設定し、このWebサイトのディレクトリ参照を有効にし、匿名認証を無効にし、Windows認証を有効にしました。インターネットおよびhttpsからのアクセスに署名します。証明書も構成され、機能しています。
ここまでは順調ですね。サーバーを参照すると、資格情報の入力を求められます(良好)。残念ながら、allのローカルサーバーユーザーは、組み込みのゲストアカウント(不良)であっても、フォルダーへのアクセスを許可されています。ここで、WebFiles Users
というグループに入れた一部のユーザーへのアクセスを制限したいと思います。そこで、Webプログラミングで知っていることを試しました。authorization
タグをweb.config
に追加しました。これは次のようになります。
<configuration>
<system.web>
<authorization>
<allow roles="MyServer\WebFiles Users" />
<deny users="*" />
</authorization>
</system.web>
<!-- this was created by the IIS manager: -->
<system.webServer>
<directoryBrowse enabled="true" />
</system.webServer>
</configuration>
しかし、それは機能しません。ゲストユーザーと一緒にウェブサイトにアクセスできます。誰かが私が間違ったことを教えてもらえますか?
system.webは、静的ファイルではなく、管理対象のasp.netコンテンツに適用されるものです。
代わりにsystem.webserverを使用します。ノード:
<configuration>
<system.webServer>
<security>
<authorization>
これをカバーする必要があります。
IIS Managerでは、ASP.NETセクションではなく、IISセクションを使用してから、[承認ルール]アイコンを使用します。