1

@{ Html.RenderAction("Method", "Controller"); }私は自分のビューで追加のコンテンツを埋め込むためによく使用します。バグにより、ユーザーがログインしていないRenderActionのに で装飾されたコントローラーにアクセスしようとしました。[Authorize]

その後、何か恐ろしいことが起こりました: ページが読み込まれると、ブラウザーはフォームを開き、資格情報を要求しました。このフォームは、パスワードで保護されたディレクトリに (.htaccess 経由で) アクセスしようとしたときに表示されるものと似ています。
試行錯誤の結果、管理者の ftp アカウントの資格情報を使用してログインできました。その後、メンバーシップ コードは、私が (ユーザー名で[MachineName]\[FTPUserName]) ログインしていると認識し、多くの新しいバグを引き起こしました (このアカウントは、自分のコードでユーザー ID に関連付けることができなかったためです)。

私がしなければならなかったのは最初のバグを修正することだけでしたが、asp.net のメンバーシップ コードがログインに FTP 資格情報を使用できた理由と、最初にそうしようとした理由を知りたいと思います。

追加情報: このバグは、自分のパソコンでプログラムをデバッグしたときには発生せず、公開した Web サーバーでのみ発生しました。

さらに情報が必要な場合はお尋ねください。

4

1 に答える 1

0

画像などの一部の静的ファイルが、すべての人に表示されないフォルダーにあることが原因である可能性があると思います。IIS_IUSRS は、ディレクトリ サーバー (フォルダーのプロパティ/セキュリティ) で読み取りアクセス権を持っていますか? 一部のファイルを保護するカスタム ルールが FTP 設定に含まれていますか? これで、コンピューターでは機能するがオンラインでは機能しない理由が説明されるはずです. これは、MVC の問題よりも IIS のセットアップの問題です。

于 2013-10-30T13:09:00.407 に答える