我有以下剃刀代码来处理只有经过身份验证的用户才能看到内容。但是,如果用户进入Home / Login,我想绕过这个。
@if (Request.IsAuthenticated) {
@RenderBody()
}
这可能吗?
答案 0 :(得分:2)
这不应该在您的_Layout
中进行,而应在您的控制器/操作中使用[Authorize]
属性进行。
如果您不在那里执行此操作,您将始终看到有关RenderBody
的错误未出现在未经身份验证的其他网页请求上。
答案 1 :(得分:1)
当然,你可以这样做:
@ {
var action = ViewContext.RouteData.GetRequiredString("action")
if (Request.IsAuthenticated || action == "Login")
@RenderBody()
}
答案 2 :(得分:1)
请添加控制器或操作aurhorize属性
[Authorize]
public class DefaultController : Controller
{
[Authorize]
public ActionResult Index()
{
...
}
}
或
@if (WebSecurity.IsAuthenticated)
{
@RenderBody()
}