2

ASP.NetWebサイトを開発しています。
2つのASPXページと1つのマスターページを作成しました。
私の2つのASPXページは、マスターページに関連付けられたコンテンツページです。
私の2つのASPXページは、MainMenu.aspxとAuthentication.aspxです。
Authentication.aspxは私のログインページです。

ウェブサイトのテーマを作成しました。
私のテーマはCSSファイルで構成されています。
Web.configファイルに次の要素を追加して、CSSファイルを自動的にインポートしました。

<pages styleSheetTheme="Default" />

次のようにweb.configファイルで認証を構成するまで、CSSファイルは正しくインポートされました。

<configuration>
    <system.web>

        ...

        <pages styleSheetTheme="Default" />

        <authentication mode="Forms">
          <forms loginUrl="~/Authentication.aspx" defaultUrl="~/MainMenu.aspx">
          </forms>
        </authentication>

        <authorization>
          <deny users="?" />
        </authorization>
    </system.web>

  <location path="~/Authentication.aspx">
    <system.web>
      <authorization>
        <allow users="?" />
      </authorization>
    </system.web>
  </location>
</configuration>

私の認証設定の目的は次のとおりです。

  • すべてのユーザーに私のログインページへのアクセスを許可する-Authentication.aspx
  • 認証されたユーザーのみに私のログインページ以外のページへのアクセスを許可する

認証、承認、場所の要素にコメントを付けると、CSSファイルが再び正しくインポートされます。

承認設定の何が問題になっていますか?

4

1 に答える 1

1

誰かが私の問題の理由を説明してくれました:

  1. 認証ページの読み込み時にサーバーにリクエストが送信されました。
  2. リクエストはCSSファイルを対象としていました。
  3. ただし、CSSファイルは、認証されていないユーザーに制限されたフォルダーにありました。

したがって、要求は失敗しました。

問題をどのように解決したか:

  • 制限されているすべてのファイルを共通のフォルダーに入れました。
  • 認証されたユーザーのみにアクセスを許可するために、フォルダーにweb.configファイルを作成しました。
  • Webサイトのルートweb.configファイルから認証要素と場所要素を削除しました。
于 2013-02-06T11:11:52.977 に答える