私のウェブサイトには管理者と従業員の 2 つの役割があり、layout.cshtml も 2 つあります。私の _viewstart.cshtml ファイルで
@{
if (!ReferenceEquals(Session["Role"], null))
{
if (Session["Role"].ToString() == "Admin")
{ Layout = "~/Views/Shared/_AdminLayout.cshtml"; }
else
{ Layout = "~/Views/Shared/_EmployeeLayout.cshtml"; }
}
else
{
Response.Redirect("~/");
}
}
すべてが正常に機能していますが、セッションが null に等しい場合、ログインページ「~/」にリダイレクトしている else の部分です。ログオン ページでもそこにリダイレクトされますが、スクリプトまたは .css ファイルの要求がサーバーに送信されるたびに、ログオン ビューにいくつかの css リンクとスクリプト リンクが表示されるという問題があります。サーバーは再び_viewstart.cshtmlにリダイレクトし、すべてのプロセスが実行されますが、このエラーが発生しています
この Web ページにはリダイレクト ループがあります localhost アドレスの Web ページでリダイレクトが多すぎます。このサイトの Cookie を消去するか、サードパーティの Cookie を許可すると、問題が解決する場合があります。そうでない場合は、コンピューターの問題ではなく、サーバーの構成の問題である可能性があります。
解決策を提案するか、コードのどこが間違っているか教えてください
1. _viewstart.cshtml は、ビューだけでなくすべてのリクエストで実行されますか? 2. このエラーを取り除くにはどうすればよいですか?