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

mvc权限验证

在做后台管理时用户登录后就需要验证哪些权限了,没有登录的就直接退出到登录页面。

系统有自带的权限[Authorize],可用于几个地方:

1、将属性[Authorize]置于相关的action上方,验证当前

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

2、将属性[Authorize]置于控制器上方

[Authorize]public class MainController : Controller{  //}

3、将Authorize应用到全局范围类,加入全局过滤器集合RegisterGlobalFilters方法,\App_Start\FilterConfig.cs:

public static void RegisterGlobalFilters(GlobalFilterCollection filters){   filters.Add(new AuthorizeAttribute()); //新加行   filters.Add(new HandleErrorAttribute());}

PS:如果有些控制器的action方法不需要验证,则在action上添加属性[AllowAnonymous]

但系统自带的不一定我们适用,这就要我们自定义了,规则我们可以自己写

新建AdminAuthorizeAttribute类,继承AuthorizeAttribute类,重写AuthorizeCore、HandleUnauthorizedRequest方法

     protected override bool AuthorizeCore(HttpContextBase httpContext)    {      if (httpContext.Session["username"] != null)      {        return true;      }      return false;    }    protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)    {      filterContext.HttpContext.Response.Redirect("/Admin/Account/Login");    }

用法同上,把[Authorize]改为[AdminAuthorizeAttribute]就行了。




原标题:mvc权限验证

关键词:mvc

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