1

したがって、[Authorize] に追加したコントローラーの上部に、これまでのところ、ログインしているユーザーのみがこれらのページ (Person と Holiday) にアクセスできます。

ただし、ユーザーをこれらのページにナビゲートする homeController のタブは引き続き表示されます... layout.cs に由来します

            <li>@Html.ActionLink("Home", "Index", "Home")</li>
            <li>@Html.ActionLink("About", "About", "Home")</li>
            <li>@Html.ActionLink("Person", "Index", "Person")</li>
            <li>@Html.ActionLink("Holidays", "Index", "Holidays")</li>

ユーザーがログインしている場合にのみこれらのタブを表示するにはどうすればよいですか。

AccountController.cs に bool を追加するアプローチを試しました

else
                    {
                        loggedIn = true;
                        return RedirectToAction("Index", "Home");
                    }
                }
                else
                {
                    loggedIn = false;
                    ModelState.AddModelError("", "The user name or password provided is incorrect.");
                }

しかし、layout.csからこれにアクセスするにはどうすればよいですか?

これは正しいアプローチですか?お知らせ下さい。ありがとう

4

1 に答える 1

2

これを試してください。

     if (Request.IsAuthenticated)
        {
            //process here
        }
        else
        {
            //  Response.Redirect("~/Login.aspx");
        }
于 2012-12-17T12:17:39.200 に答える