一旦用户登录到我使用表单身份验证的站点,那么如何阻止用户登录&注册页面,如果他已经登录&寄存器.
解决方法
两种方式“脱离我的头脑”:
1 – 自定义操作过滤器,如果用户已登录,则会从页面重定向用户.
public class RedirectAuthenticatedRequests : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if(filterContext.HttpContext.Request.IsAuthenticated) {
filterContext.Result = new RedirectToRouteResult(
new RouteValueDictionary(new {
controller = "SomeController",action = "SomeAction"
}
));
}
base.OnActionExecuting(filterContext);
}
}
2 – 如果用户已登录,请简单检查登录操作方法.
if(Request.IsAuthenticated) return RedirectToAction("SomeOtherView");
