我在FormsAuthentication
申请中实施了MVC4
。
<authentication mode="Forms">
<forms loginUrl="~/Home/Index" timeout="1" />
</authentication>
private void SetupFormsAuthTicket(string userName, bool persistanceFlag)
{
FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1,
userName,
DateTime.Now,
DateTime.Now.AddMinutes(1),
persistanceFlag, ""
);
string encTicket = FormsAuthentication.Encrypt(authTicket);
this.Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket));
}
另外,我可以修改timeout
以防系统空闲,页面将重定向到登录页面。
现在我需要的是,如果用户已成功登录,则如果用户在浏览器中输入登录URL,则不应打开Login
页面。
如何实现同样的目标?
答案 0 :(得分:0)
在登录页面的顶部,添加以下剃刀代码:
@if (Request.IsAuthenticated)
{
Response.Redirect(Url.Action("Index", "Home"));
}
将Index
和Home
替换为您选择的操作/控制器。如果用户通过身份验证,这将导致页面重定向。