1

ログイン画面の上にロゴを表示するためのログイン画面だけで、default.aspxページを取得しようとしています。ロゴは、プロジェクトのメインディレクトリの画像フォルダに保存されます。画像は合計2つの場所にあり、1つはログイン前、もう1つはログイン後の別のページにあります。

ユーザーがログインする前は、画像を表示できません。基本的に、画像が見つからないグラフィックが表示されます。ただし、ユーザーはログイン後にまったく同じファイルからまったく同じ画像を取得します。その後ログアウトすると、画像は1回表示されますが、ページを再読み込みすると、画像が見つかりませんに戻ります。さらに複雑な問題は、デバッグ用に実行すると機能するが、ブラウザーからアクセスしようとすると機能しないという事実です。

デフォルトページのさまざまな部分だけでなく、さまざまなディレクトリに画像を配置しようとしましたが、それでもうまくいきません。私のイメージを宣言する行は

<asp:Image ImageUrl="~/Images/CCA.jpg" runat="server" AlternateText="CCA Logo"/>

助言がありますか?

編集:いくつかのことを試した後、ページのinspect要素を調べたところ、画像が正しいディレクトリパス(http://server/Portal/PortalSite/Images/CCA.jpg)に設定されていることがわかりました。画像が機能する場合(ログイン後)、リンクをたどって画像だけを取得できます。それでもうまくいかないときは、ページに戻ります

http://server/Portal/PortalSite/Default.aspx?ReturnUrl=%2fPortal%2fPortalSite%2fImages%2fCCA.jpg

これはURLパスの問題でしょうか?

編集:また、これはばかげた質問かもしれませんが、Im newなので、結果のdefault.aspx.vbファイルに何らかの設定が必要ですか?現在、ログインリダイレクト情報のみが含まれています。

4

1 に答える 1

3

フォーム認証を使用している場合は、画像フォルダーへのアクセスを許可するロケーションタグをweb.configファイルに追加することをお勧めします。

 <configuration>
     <location path="Images">
        <system.web>
          <authorization>
            <allow users="*" />
          </authorization>
        </system.web>
      </location>
     <appSettings/>
     <system.web>

     <!-- other stuff -->
     </system.web>
    </configuration>

または、問題のフォルダにweb.configファイルを配置してみてください。

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
  <system.web>
    <authorization>
      <allow users="*" />
    </authorization>
  </system.web>
</configuration>
于 2012-12-12T13:20:18.800 に答える