在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
在WEB FORM 里可以写一个通用类继承自Page类,在其Page_Load()事件中对session进行验证。 而在MVC中可以使用C#的"特性"(或者叫过滤器)来进行身份验证。 自定义一个过滤器,重写其OnActionExecuting(ActionExecutingContext)方法。该方法是在Action执行之前先进行验证。 public class LoginFilter : System.Web.Mvc.ActionFilterAttribute { public override void OnActionExecuting(System.Web.Mvc.ActionExecutingContext filterContext) { if (filterContext.HttpContext.Session["admin"] == null) { filterContext.HttpContext.Response.Redirect("/Console/Login"); } } }
然后在需要登录的Action上面加上该过滤器即可。 [LoginFilter] public ActionResult Main() { //do somthing return View(); }
Controller的Filter: using System.Web.Mvc; public class EiceController : Controller { public void Index() { this.HttpContext.Session["temp"] += "Action<br/>"; RenderView("Index"); } public void Index2() { RenderView("Index"); } protected override void OnActionExecuting(FilterExecutingContext filterContext) { filterContext.HttpContext.Session["temp"] += "OnActionExecuting<br/>"; } protected override void OnActionExecuted(FilterExecutedContext filterContext) { filterContext.HttpContext.Session["temp"] += "OnActionExecuted<br/>"; } } 注意两个方法是protected 的签名。
|
请发表评论