2012-02-24 23 views
1

私は最近、Webアプリケーションを.Net 3.5から.Net 4に移行し、IIS 7.5でアプリケーションプールを統合モードに変更しました。このアプリは2つの部分から構成されています。最初の部分は公開され、2番目の部分はログインのみです。ASP.Net IIS 4でのフォーム認証 - 既定のドキュメントがなくなった

<authorization> 
    <deny users="?" /> 
</authorization> 

:私は以下のようなものを、認証されていないユーザーを拒否するために、デフォルトの権限を持っているルートweb.configファイルで

<authentication mode="Forms"> 
    <forms loginUrl="~/private/login.aspx" protection="All" timeout="20" name=".ASPXAUTH" path="/" requireSSL="false" slidingExpiration="true" defaultUrl="~/private/default.aspx" cookieless="UseCookies" enableCrossAppRedirects="true" /> 
</authentication> 

:私は、ルートweb.configファイルにthusly configuedされるログインのフォーム認証を使用します

<location path="Default.aspx"> 
<system.web> 
    <authorization> 
    <allow users="?,*" /> 
    </authorization> 
</system.web> 

01:しかし、私は誰もが歓迎のページを見ることができるように、ルートweb.configファイルで構成され、以下の設定を持っています

これは長年にわたりうまくいっていますが、URLに明示的にDefault.aspxを入れないと、フォームリダイレクトモジュールによってログインページが提供されます。私は私のデフォルトページが正しく設定されていることを確認し、IIS7で有効になっています。私もweb.configで指定しようとしました。私はDefaultDocumentModuleがDirectoryListingモジュールの前に配列されていることを確認しました。

要素を削除した場合、問題は「消え去る」が、すべてのユーザーを許可するようにデフォルトに設定されていますが、これは完全に望ましくありません。

私はアイデアがありません。提案?

おかげ

I

答えて

0

既定のドキュメントの問題のいくつかの種類のように思えます。サイトのIISマネージャーを見ると、「既定のドキュメント」リストには何が表示されますか。 Default.aspx以外のものがリストの上位にある可能性はありますか?これに一致するものがルートWebに見つかった場合、最初にそこに行き、ログインにリダイレクトされます。

web.configでデフォルトのドキュメントを明示的に設定していますか?次のように:

<defaultDocument enabled="true"> 
     <files> 
      <clear /> 
      <add value="Default.aspx" /> 
      <add value="Default.htm" /> 
      <add value="index.htm" /> 
      <add value="index.html" /> 
      <add value="iisstart.htm" /> 
     </files> 
    </defaultDocument> 
+0

Default.aspxはルートWebサイトのリストの一番上にあります。私のサイトはそれを継承しています。私もこれを試した: paulv7260

0

[いいえ]私はMicrosoft Premier Support Engineerにこれを掘り下げました。私たちは私のワークステーションで一緒に座って、(a)環境とアプリの設定と、(b)可能な解決策を調べました。

彼はこのMS "Fast Publish" articleを参照しています。これは、MMC経由でIISからExtensionLessURLハンドラを削除したことを示しています。さて、われわれはwazooのサーバーを持っている巨大な組織であり、この変更が常に尊重されることを保証することができず、私はそれをしたくなかった。私たちはweb.configを使ってそれらを削除しようとしましたが、うまくいきませんでした。

私は彼にthis solution from another StackOverflow thread (posted by Dmitry.Alk)を示しました、そして、彼はそれはすぐに良い回避策だと言いました。この特別な状況のためには、が素晴らしいです。

ファーストパブリッシュの記事では、私たちのIT部門に販売しなければならないこの修正プログラムA update is available that enables certain IIS 7.0 or IIS 7.5 handlers to handle requests whose URLs do not end with a periodを参照しています。

ここで書いたことを「回答」とは呼んでいませんが、他の人がこのスレッドで発生した場合に備えて、私が学んだことを分かち合いたいと思いました。

関連する問題