1.在mvc下建一个文件夹Filters
2.新建一个类,checkUser
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace ZKJT.SIZI.MVC.Filters
{
/// <summary>
/// 检测是否登录
/// </summary>
public class checkUser : FilterAttribute, IAuthorizationFilter
{
public void OnAuthorization(AuthorizationContext filterContext)
{
//先判断需不需过滤器
object[] attrs = filterContext.ActionDescriptor.GetCustomAttributes(typeof(NoCheckUser), true);
if (attrs.Length == 0)
{
string user = filterContext.HttpContext.Session["xx_userid"]==null?"": filterContext.HttpContext.Session["xx_userid"].ToString().Trim();
if (user == "")
{
var url = new UrlHelper(filterContext.RequestContext);
var urls = url.Action("Index", "Login");
filterContext.Result = new RedirectResult(urls);
}
}
}
}
//不需要验证的
public class NoCheckUser : Attribute
{
public NoCheckUser()
{
}
}
}
3.注册为全局变量
在FilterConfig类的RegisterGlobalFilters方法处,添加一行
filters.Add(new ZKJT.SIZI.MVC.Filters.checkUser());
4.不启用的方法处加上 [NoCheckUser]