3

ASP.NETWebアプリケーションを作成しています。

いくつかのCSSスタイルと画像が表示されたログイン画面があります。スタイルと画像が表示されないという問題が発生しました。オンラインで読んだところ、Contentフォルダー内にweb.configが必要だと表示されました。以下をweb.configに追加しました。

<configuration>
  <system.web>
    <authorization>
      <allow users="*"/>
    </authorization>
  </system.web>
</configuration>

これは私のローカルマシンで動作するようでした。ただし、サーバー上のinetpubに公開すると、機能しません。

これが私のフォルダ構造です:

Login/Login.aspx-ログイン画面
コンテンツ-これは私のルートコンテンツフォルダです
コンテンツ/スタイル-これは私のCSSが格納されている
場所ですコンテンツ/画像-これは私の画像が保存されている場所です

同じweb.configをStylesとImagesにも入れてみましたが、それもうまくいきませんでした。

どんな助けでもいただければ幸いです。

更新しました:

これが、ユーザーアクセスに関連するメインのweb.configにあるものです。

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

更新2: 接続文字列情報以外にルートweb.configにあるものはすべて次のとおりです。

<system.web>
<httpRuntime requestValidationMode="2.0"/>
<compilation debug="true" targetFramework="4.0"/>
<sessionState cookieless="UseCookies"/>
<authentication mode="Forms">
  <forms name="CMS" loginUrl="Login/Login.aspx" timeout="25" slidingExpiration="true"/>
</authentication>
<authorization>
  <deny users="?"/>
</authorization>
<membership>
  <providers>
    <clear/>
    <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/"/>
  </providers>
</membership>
<profile>
  <providers>
    <clear/>
    <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
  </providers>
</profile>
<roleManager enabled="false">
  <providers>
    <clear/>
    <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/"/>
    <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/"/>
  </providers>
</roleManager>
</system.web>
<location path="Content" allowOverride="false">
<system.web>
   <authorization>
     <allow users="*" />
   </authorization>
 </system.web>
</location>
<system.webServer>
  <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>

ここにユーザーアクセスを妨げる何かがありますか?

4

4 に答える 4

2

ここで私の答えを見てください。一般に公開したいフォルダーに web.config ファイルを配置することをお勧めする人もいますが、ルートの web.config 要素からすべてを監視することをお勧めします。基本的に、既存のものと同じスニペットを挿入しますが、Web サイトのルートにある web.config ファイルに挿入します。「allowOverried=false」属性も忘れないでください。:)

本当にトリッキーなこと以外に、パスを正しくすることはあります。あなたがちょうどそれを持っていることを確認してください!:)

<location path="Path to your folder" allowOverride="false">
   <system.web>
      <authorization>
         <allow users="*"/>
      </authorization>
   </system.web>
</location>
于 2012-05-01T17:12:59.763 に答える
0

基本的に、すべてのユーザーがContentフォルダー内のファイルにアクセスできるようにする必要があります。

これをメインのweb.configに追加します。

<location path="Content">
        <system.web>
            <authorization>
                <allow users="*" />
            </authorization>
        </system.web>
    </location>
于 2012-04-30T21:59:55.247 に答える