码迷,mamicode.com
首页 > Web开发 > 详细

MVC登录校验

时间:2017-10-20 10:12:30      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:web   登录   err   验证   ext   style   session   project   执行   

利用MVC自带的过滤器可现实简单的登录校验

技术分享

在项目目录下创建一个BaseController控制器,让需要验证的控制器继承这个BaseController

需要让BaseController继承Controller ,因为Controller继承了AuthorizeAttribute 类,此类中封装了OnActionExecuting方法,控制器方法执行之前会执行该方法

BaseController:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MyProject.Controllers
{
    public class BaseController:Controller
    {
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            //如果想要执行后面的过滤器则需要加上这一句
            base.OnActionExecuting(filterContext);
            //判断服务器有无登录标识
            if (filterContext.HttpContext.Session["username"]==null) {
            //提示用户未登录并跳转
                filterContext.HttpContext.Response.Write("<script>alert(‘请登录!‘);window.parent.location.href=‘/Login/Index‘</script>");
                return;
            }
        }
    }
}

 同样,这样做只适合网站部署在一台服务器上的情况,如果是多台服务器,则需要根据用户传递的SessionId值去数据库中校验

 

MVC登录校验

标签:web   登录   err   验证   ext   style   session   project   执行   

原文地址:http://www.cnblogs.com/xiaoliwang/p/7696796.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!