0

私はウェブサイトのデザインにかなり慣れていないので、ご容赦ください。

誰かが私の Web サイトにアクセスすると、最初にログイン ページに送信されます。このページは、web.config で次のように定義されています。

<authentication mode="Forms">
  <forms loginUrl="~/Login/Index" timeout="15"/>
</authentication>

ただし、ログインする前に、アクセスしたいデータベースが定義されているかどうかを確認し (これは、ユーザーが頻繁に変更する可能性があるものです)、定義されていない場合は、別のフォームに送信したいと考えています。したがって、私のログインコントローラーインデックスは次のようになります。

    public ActionResult Index()
    {
        bool settingsSetUp = SupportLibrary.Settings.CompanyId != null;
        if (settingsSetUp)
            return View();
        else
            return RedirectToAction("index", "setup");

    }

ただし、これを試すと、Chrome で常に「このページにはリダイレクト ループがあります」と表示されます。IEのFirefoxでもページが表示されません。調査の結果、上記のメソッドは常に何度も呼び出されているため、最終的にブラウザーは頻繁にリダイレクトされていると判断しました。コントローラーに関連付けられたビューに移動するように設定した場合 (リダイレクトなし)、上記のメソッドが 15 回呼び出されます。それ以外の場合、Chrome がエラー メッセージを表示する前に 10 回呼び出されます。それが問題の根源だと思うほど何度も呼び出されている理由を誰かが知っていますか? どうもありがとう!

4

1 に答える 1