星空网 > 软件开发 > ASP.net

MVC中验证登录和权限

mvc做后台管理系统,必然会要做登录和权限判断。这里是用mvc的ActionFilterAttribute特性。

具体如下:

声明一个CheckUser类,继承ActionFilterAttribute类

public class CheckUserFilter : ActionFilterAttribute
{
  public override void OnActionExecuting(ActionExecutingContext filterContext)
  {
    base.OnActionExecuting(filterContext);
    if (filterContext.HttpContext.Request.Cookies["backUser"] == null)
    {
      filterContext.HttpContext.Response.Redirect("~/Home/Login");//为登录跳转到登录页面
    }
    else
    {
      string controllerName = filterContext.RouteData.Values["controller"].ToString();
      BackLogin blogin = new BackLogin();
      bool l = blogin.IsLogin();//再次验证cookies中的信息是否正确,防止伪造
      if (l == false)
      {
        filterContext.HttpContext.Response.Redirect("~/Home/Login");
      }
      else
      {
        bool b = blogin.IsHavaRights(controllerName);//验证权限
        if (b == false)
        {
          filterContext.HttpContext.Response.Redirect("~/Home/NoRight");
        }
      }
    }
  }

}


接下来就简单了,只要在要验证的action上添加验证即可

[CheckUser]public ActionResult Index(){    return View(); }

如果没有登录,或者没有权限就会跳转到相应的页面了。

当然mvc中还有其他的验证特性如AuthorizeAttribute类。具体使用方法,网上一大堆。

 

转载请注明出处。




原标题:MVC中验证登录和权限

关键词:登录

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流