MVC中实现只有当用户登录成功的时候才等浏览内容,否则跳转到登录页面

第一步,在登录的时候记录Session

  //提供Session接口方便后面判断用户登录       

       Session["UserInfo"] = uinfo;  //uInfo是用户登录Model对象

第二步:新建一个控制器,起名为BaseController,写入如下代码:  

  public class BaseController : Controller
    {
        //定义一个基类的UserInfo对象
        public UserInfo CurrentUserInfo { get; set; }

        /// <summary>
        /// 重写基类在Action之前执行的方法
        /// </summary>
        /// <param name="filterContext"></param>
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            base.OnActionExecuting(filterContext);
            CurrentUserInfo = Session["UserInfo"] as UserInfo;

            //检验用户是否已经登录,如果登录则不执行,否则则执行下面的跳转代码
            if (CurrentUserInfo == null)
            {
                Response.Redirect("/Login/Index");
            }
        }
    }

第三步:将要登录才能看得页面全部继承自上面的页面:代码如下:模拟

  public class HomeController : BaseController

  {
  } 

原文地址:https://www.cnblogs.com/FLWL/p/6074068.html