特定のユーザーが指定された Web リソースにアクセスできないように制限する

この記事では、特定のユーザーが指定された Web リソースにアクセスできないように制限する方法について説明します。

元の製品バージョン: ASP.NET
元の KB 番号: 815151

概要

ASP.NET に基づく Web アプリケーションは、ユーザーがリソースへのアクセスを認証および承認される多くの方法を提供します。 リソースへのアクセスを制限する方法は、使用する認証方法によって異なります。 たとえば、Microsoft Windows 認証を使用し、偽装を有効にするアプリケーションでは、アクセス制御に新しいテクノロジ ファイル システム (NTFS) ファイルのアクセス許可を使用できます。 ただし、フォーム認証を使用するアプリケーションでは、Web.config ファイルを変更してアクセスを制限する必要があります。 この記事では、これらの ASP.NET 認証方法の両方の承認を制御する方法について説明します。

ファイルのアクセス許可を使用して承認を制御する

Windows 認証を使用し、偽装を有効にする web アプリケーション ASP.NET の場合は、認証を要求し、ファイルとフォルダーへのアクセスを制限するために、標準の NTFS ファイルのアクセス許可を使用できます。

  • 認証を要求するには、ファイルまたはフォルダーに対する ASPNET ユーザー アカウントのアクセス許可を削除します。
  • 特定の Windows ユーザー アカウントまたはグループ アカウントへのアクセスを制限するには、ファイルまたはフォルダーに対する NTFS ファイルの読み取りアクセス許可を付与または拒否します。

Web.config ファイルを変更して承認を制御する

フォーム認証を使用 ASP.NET アプリケーションへのアクセスを制限するには、アプリケーションの Web.config ファイル内の 要素を編集<authorization>します。 これを行うには、次の手順を実行します。

  1. メモ帳などのテキスト エディターを起動し、アプリケーションのルート フォルダーにある Web.config ファイルを開きます。

    注:

    Web.config ファイルが存在しない場合は、ASP.NET アプリケーションの Web.config ファイルを作成します。

  2. アプリケーション全体の承認を制御する場合は、Web.configファイル内<system.web>要素に構成要素を追加<authorization>します。

  3. 要素に<authorization>、構成要素と構成要素を<deny>追加<allow>します。 属性を users 使用して、ユーザー名のコンマ区切りのリストを指定します。 疑問符 (?) は、任意のユーザー名と一致するワイルドカード文字として使用できます。 たとえば、次のコードでは、 と user2を除くuser1すべてのユーザーへのアクセスが拒否されます。

    <authorization>
        <allow users="user1, user2"/>
        <deny users="?"/>
    </authorization>
    
  4. Web.config ファイルを保存します。

関連情報