私はasp.net mvc 2とvs 2008を使用しています。
フォーム認証でウェブサイトを作ろうとしています。一部のページへのアクセスを制限しようとしているときに、asp.net 管理ツールを使用しています。そこで、たとえば、Web サイト全体への匿名ユーザーへのアクセスを拒否するルールを作成します。管理ツールは、予想どおり、ルート web.config ファイルに次のセクションを追加します。
<authorization>
<deny users="?" />
</authorization>
%ApplicationRoot%/View/Protected の例のように、一部のサブフォルダーで同じことを行うと、管理ツールも予想どおり、次のコードで前述のサブフォルダーに web.config ファイルを追加します。
<configuration>
<system.web>
<authorization>
<deny users="UserName" />
</authorization>
</system.web>
これらのファイルの主な違いは、ルートの web.config 認証セクションに何らかの効果があることです (一般的に言えば、計画どおりに機能します - Web サイト全体からすべての認証されていないユーザーを拒否します)。ただし、サブフォルダー web.config 承認セクションはまったく効果がありません。コードに従って、ルート構成ファイルに追加されていることがわかりました
<location path="Protected">
<authorization>
<deny users="UserName" />
</authorization>
</location>
計画どおり、%ApplicationRoot%/View/Protected Folder にあるすべてのビューへの %UserName% アクセスを拒否します。
この動作は cassini と iis と似ています。私は両方を試しました。
主な問題は、作業を行うために親切な管理ツールが必要なことです。そのため、問題について何か助けを求めています - web.config がサブフォルダーにあるときに認証セクションが機能しないのはなぜですか?
PSサブフォルダーの web.config の間<authorization>
と中に間違ったコードを配置しようとしました:</authorization>
<authorization>
asdfg
</authorization>
無効。おそらく何らかの問題により、セクション全体が無視されますか?
PPS 同じファイルの承認セクションからのコードが正しくないと、エラーが発生します