使用[授权] mvc3

时间:2012-12-17 11:58:18

标签: asp.net-mvc-3 authorization boolean-operations

所以在我的控制器顶部我已经添加了[授权], 到目前为止只有登录用户可以访问这些页面(人和假日)

然而,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访问它?

这是正确的做法吗? 请指教。 感谢

2 个答案:

答案 0 :(得分:3)

查看以下页面。接受的答案是否有帮助?

check if user is logged in in user control Asp.net MVC

答案 1 :(得分:2)

请试一试。

     if (Request.IsAuthenticated)
        {
            //process here
        }
        else
        {
            //  Response.Redirect("~/Login.aspx");
        }