9

ルートディレクトリの下に、次の構造があります

..
..
..
web.config
Report Folder
- Login.aspx
- Web.config
  |
  |-> ViewReport
       |       
       |-> Report.aspx

Reportフォルダーのweb.configファイルには、次のものがあります。

    <?xml version="1.0"?>
    <configuration>
        <system.web>
            <authentication mode="Forms">
                <forms loginUrl="Login.aspx" defaultUrl="ViewReport/Report.aspx">
                    <credentials passwordFormat="Clear">
                        <user name="Johl" password="pass888"/>
                    </credentials>
                </forms>
             </authentication>
         </system.web>

        <location path="ViewReport/Report.aspx">
            <system.web>
                <authorization>
                    <allow users="Johl"/>
                    <deny users="*"/>
                </authorization>
            </system.web>
         </location>
     </configuration>

デバッグを開始すると、次のメッセージが表示されます。

アプリケーション レベルを超えて allowDefinition='MachineToApplication' として登録されたセクションを使用するとエラーになります。このエラーは、IIS で仮想ディレクトリがアプリケーションとして構成されていないことが原因である可能性があります。

私のルート web.config には、次のようなものがあることに注意してください。

私のルートには、すでに次のものがあります。

         <system.web>        
            <authentication mode="Forms">
                <forms loginUrl="Str/StrUserLogin.aspx" timeout="2880" slidingExpiration="true"  />         
               </authentication>
            <authorization>
                <allow users="*" />
            </authorization>     
         </system.web>
4

9 に答える 9

11

サイト ルートに仮想ディレクトリを作成します。これは、VS の [Web] タブのプロジェクト プロパティを介して行うことができます。

ルート構成ファイルにあるはずのサブディレクトリに定義されているものがある可能性もあります。ここで同様の質問を参照してください:

allowDefinition='MachineToApplication' として登録されたセクションをアプリケーション レベルを超えて使用するとエラーが発生します

于 2013-04-30T19:20:15.343 に答える
5

フォルダー/プロジェクトを IIS のアプリケーションに変換すると、このエラーを解決できます。

于 2017-01-12T13:26:10.330 に答える
2

サブディレクトリの web.config の内容は、ルート ディレクトリに配置する必要があります。サブディレクトリの構成により、IIS はサブディレクトリをアプリケーション ルートとして扱いますが、アプリケーション ルートではありません。これが、エラー allowDefinition='MachineToApplication' を受け取る理由です。

于 2013-04-30T19:20:13.667 に答える
0

ファイル システムではなく IIS から Web サイトを開いたところ、機能しました。

于 2015-09-27T03:23:16.517 に答える
-3

このエラーは、web.config ファイルとすべての aspx ファイルが同じフォルダーにない場合に発生します。すべてのファイルを同じフォルダに入れてください。

ありがとう。

于 2015-04-17T06:33:55.820 に答える