OnActionExecuting页面执行前进行,相当于过滤器,只有符合该方法里的条件,才能执行后面的Action, 通常用于:1、统一登陆验证 2、统一权限控制
1、登陆验证(单个控制器验证):
以下为用Session进行判断用户是否登
使用OnActionExecuting过滤器进行判断(若没有登录则重定向到登录页面):
2、全局(整个项目)过滤器:
使用前的步骤:
(一)先在项目的App_Start(路由)中创建一个类
并在该类写入过滤器方法
(二)在项目的Global.asax中注册全局过滤器
(三)在项目里添加(第一步里引用类)的文件,并命名为(第一步里引用类方法)的名称,
在此写入全局过滤器的条件
以下为某项目的权限与登录过滤器:
该项目是以moduleID :1-5为区域, moduleFarID: 1-5是分别对应moduleID里的子控制器,来建立的
而权限是通过用户角色,来进行权限划分(只针对子控制器,不针对区域):
第一种验证方式为在用户登录时去获取:
以下为Module类的设置:
以上的查询主要是查询登录用户所担任的角色,再查询该角色所拥有访问的子控制器,
最后再用parseModule子查询去查询出该子控制器所在的区域数据
以下开始进行权限与登录检查: