私はマイクロソフトの試験のために勉強していて、いくつかのサンプル問題を解いています。この質問があります:
「メンバーシップとロール プロバイダーを使用するように構成された ASP.NET Web アプリケーションを開発しています。
すべてのユーザーが HTTP GET を実行できるようにする必要がありますが、モデレーターという名前のユーザーのみが POST 操作を実行できるようにする必要があります。どの構成を web.config ファイルに追加する必要がありますか?"
<authorization>
<deny verbs="POST" users="*" />
<allow verbs="POST" users="Moderator" />
<allow verbs="GET" users="*" />
</authorization>
<authorization>
<allow verbs="GET" users="*" />
<allow verbs="POST" users="Moderator" />
<deny verbs="POST" users="*" />
</authorization>
他に2つの答えがありましたが、明らかに間違っていたので、ここでは複製しませんでした.
2 つのルール セットの唯一の違いは、ルールが配置される順序です。
正解は 2 番目の規則セットです。ここで、ルールは最初に「モデレーター」の POST アクセスを許可し、次にそれ以外のすべてのユーザーに対してそれを削除します。これは私には直感に反しているように思えます.1人に特権を与えてから、その特権を全員から削除しても、1人はその後も特権を持っています.
どちらかといえば、最初の一連のルールの方が理にかなっています。最初に全員を拒否し、次に選択的に個人にアクセスを許可します。どうやらこれは間違っているようです!
これをよりよく理解できるように、なぜこれが当てはまるのかを誰か説明できますか?