一旦用户登录到我使用表单身份验证的站点,那么如何阻止用户登录&注册页面,如果他已经登录&寄存器.
解决方法
两种方式“脱离我的头脑”:
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");