MVC-过滤器-权限认证

过滤器主要基于特性,aop来实现对MVC管道中插入其他处理逻辑。比如,访问网站,需要检查是否已经登陆,若没登陆跳入登陆界面。

样例:

方法注册

 

 执行效果

 当不符合认证时:

上面是方法注册特性。还有类注册,全局注册。

类注册,注意加约束限制

 [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, Inherited = true)]

单单的仅是类定义会出现异常,陷入死循环。因为每次执行action(包括验证界面对应的action) 都会验证,每次都不符合验证条件,以至于循环进入验证界面

解决办法,加匿名特性,并在验证地方去支持它。

 

 

 全局注册:

 

 注意:有时候请求是网页访问;有时是ajax请求,需要返回一串json字符串。

 原理:

先进入控制器,访问控制器的基类Execute方法

 

原文地址:https://www.cnblogs.com/anyihen/p/12392203.html