0

誰かがこの問題を解決することによって私の無知を指摘するのを手伝ってくれることを願っています...:)

http://www.digitalrefraction.comに新しいDNNサイトをインストールしたところですが、すべて正常に機能しています。また、関連のないASP.Net MVC 2.0(拡張子のないURLを使用-その価値があるもの)アプリケーションを、そのドメインのサブフォルダーで次のURLで実行しています: http ://www.digitalrefraction.com/refractor

サブアプリケーションに対してHTTPGETリクエストを問題なく実行できます。ただし、POSTを実行すると、「 http://www.digitalrefraction.comのユーザー名とパスワードを入力してください」という「認証が必要」ダイアログボックスが表示されます。

今、私は混乱しています。メインドメインへのPOSTSとGETSが正常に機能するのに、サブアプリケーションへのPOSTを実行すると、メインドメインの認証が要求されるのはなぜですか?しかし、サブアプリケーションへのGETは機能します!

はい、メインDNNサイトのweb.configを確認しましたが、認証エントリがまったく見つかりませんでした。/ refractorへの匿名アクセスを許可するためにいくつか追加しようとしましたが、違いはありませんでした。サブアプリケーションweb.configも確認しました。少し戸惑っています。

私はサブドメインではなく、サブアプリケーション(サブフォルダー)について話していることに注意してください。

ヒントやアイデア、または正解は大歓迎です。:)

ありがとう。

4

1 に答える 1

1

わかりました、Cyber​​nateに感謝します、私は全体を見直しました。基本的に、サブアプリのログインが機能しなかったため、HTTP POSTを処理し、セキュリティが必要なコントローラーが認証の問題を引き起こしました。

ログインが機能しなかった理由は、ネストされたアプリケーション全体がセットアップされ、ルートDNNサイトのweb.configから継承されたためです。

特定の問題; ルートweb.configから継承した設定が原因でアプリがエラーをスローしていたため、httpmodules<clear />などの一部のセクションの上部にを挿入して、継承されたDNNモジュールを削除しました。DNNのweb.configで指定されているものではない、デフォルトでロードされるモジュールがいくつかあることがわかりました。それらのいくつかは認証に関係しています。したがって、それらをクリアすると、基本的に私のログインが壊れました。

最後に、DNNweb.configで構成されたDNNhttpmodulesごとに<clear />を追加しました。このようにして、不要なものや必要のないものを取り除きましたが、アプリが機能するために必要なモジュールは保持していました。<remove ... />

大変な苦痛でしたが、もう終わってよかったです!アドバイス:本当に必要な場合を除いて、ネストされたASP.Netアプリケーションには近づかないでください。

考えてみると、「親アプリケーション/web.configから設定を継承しない」という意味の設定(アプリケーションスコープに対してグローバル)はありませんか?それは非常に役に立ちました!

于 2011-01-04T05:46:26.450 に答える