最近接触了一个电商平台的前台页面,需要做一个登录验证,具体情况是:当用户想要看自己的订单、积分等等信息,就需要用户登录之后才能查询,那么在MVC项目中我们应该怎么做这个前台的验证呢?
1.我在Controllers里面新建了一个BaseControler.cs
2代码如何:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Routing; namespace WLSH.B2B.Shop.Web.Controllers { public class BaseController : Controller { // // GET: /Base/ /// <summary> /// 当用户没有登录时提示跳转到登录页面 /// </summary> /// <param name="filterContext"></param> protected override void OnActionExecuting(ActionExecutingContext filterContext) { ///实现我们提供的权限操作 if (filterContext.HttpContext.Session["name"] == null) { filterContext.Result = new RedirectToRouteResult(new RouteValueDictionary(new { Controller = "Home", action = "Login" })); } } } }
3.在需要登录才能看的controller里设代码如下:
将以前的controller替换成BaseController就可以了。