1

匿名ユーザーがdefault.aspx、aboutus.aspx、contactus.aspxなどのいくつかのファイルのみを参照できるようにしたい。これらすべてのファイル名を1つの場所に書き込む方法はありますか、それとも以下のコードを何度も繰り返す必要があります。すべてのファイルについて?

<location path="Default.aspx">
<system.web>
  <authorization>
    <allow users="*"  />
  </authorization>
</system.web>

4

2 に答える 2

2

1つのロケーション要素で複数のパスを指定することはできません。私はあなたがやろうとしていることはこのようなものだと思います:

<location path="Default.aspx,aboutus.aspx,contactus,aspx">
    <system.web>
        <authorization>
            <allow users="*"  />
        </authorization>
    </system.web>
</location>

残念ながら、それが可能だとは思いません。

これを行う方法にはいくつかのオプションがあります。

A)匿名アクセスを許可するファイルごとに1つずつ、ロケーション要素を複数回指定します。

<location path="Default.aspx">
    <system.web>
        <authorization>
            <allow users="*"  />
        </authorization>
    </system.web>
</location>
<location path="aboutus.aspx">
    <system.web>
        <authorization>
            <allow users="*"  />
        </authorization>
    </system.web>
</location>
<location path="contactus,aspx">
    <system.web>
        <authorization>
            <allow users="*"  />
        </authorization>
    </system.web>
</location>

B)Admirerが前述したように、匿名アクセスを許可するすべてのファイルを別のディレクトリに配置します。

C)URL認証の代わりにファイル認証を使用して検討することをお勧めします。ファイル認証を使用すると、WindowsのACLアクセス許可をファイルに直接割り当てることができます。保護したいファイルを1つのWindowsアカウントに割り当てたり、別のACLアカウントへの匿名アクセスを許可したいファイルを割り当てたりできる場合があります。次に、ASP.Netの偽装を使用して、匿名アクセス要求からの要求をマップし、保護されていないファイルにのみアクセスできるWindowsアカウントのセキュリティコンテキストで実行し、認証された要求からの要求をWindowsアカウントにマップします。すべてのファイルにアクセスできます。

匿名アクセスに公開するリソースごとに1回ずつ、「location」要素を複数回複製する方がおそらくはるかに簡単なので、この道を進みたいかどうかはわかりません。しかし、これを調べたい場合は、ここまたはここにいくつかの優れたリソースがあります

于 2012-04-28T23:09:16.627 に答える
0

フォルダ名でグループ化できると思います。これをチェックしてくださいhttp://weblogs.asp.net/gurusarkar/archive/2008/09/29/setting-authorization-rules-for-a-particular-page-or-folder-in-web-config.aspx

于 2012-04-28T22:04:32.083 に答える