tnblog
首页
视频
资源
登录

.net mvc 过滤器介绍

4701人阅读 2020/5/7 20:04 总访问:689277 评论:0 收藏:0 手机
分类: .net

过滤器是一种面向切面的变成方式,可以统一的做一些操作,不会影响到原先的逻辑,会让两种逻辑的耦合度非常低。

类似HttpModule(mvc原理里边也用了不少的HttpModule)

 

解决统一验证是否登录

1:全局应用程序类:

2baseWebformbaseController

3: HttpModule

 

创建一个简单的过滤器

过滤器其实就是一个普通的类,但是要必须要实现相应的接口或者继承类

 

用过滤器的步骤:

1:创建过滤器

2:注册过滤器

 过滤器的作用范围:全局,局部

 

过滤器的作用范围

全局:

FilterConfig中注册的就是全局过滤


一个简单验证是否登录的过滤器

  1. public class LoginFilter : IActionFilter
  2. {
  3.     /// <summary>
  4.     /// action执行之后执行
  5.     /// </summary>
  6.     /// <param name="filterContext"></param>
  7.     public void OnActionExecuted(ActionExecutedContext filterContext)
  8.     {
  9.     }
  10.     /// <summary>
  11.     /// action执行之前执行
  12.     /// </summary>
  13.     /// <param name="filterContext"></param>
  14.     public void OnActionExecuting(ActionExecutingContext filterContext)
  15.     {
  16.         //如果是登录本身就放开这个验证
  17.         //获取控制器的名字(固定写法)
  18.         string controllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
  19.         if (controllerName.ToLower() == "login")
  20.             return;
  21.         //验证是否登录的逻辑
  22.         if (filterContext.HttpContext.Session["username"] == null)
  23.         {
  24.             //没有登录就跳转到登录
  25.             //return RedirectToAction("index", "login");
  26.             //跳转(固定写法)
  27.             filterContext.Result = new RedirectResult("/login/index");
  28.         }
  29.     }
  30. }

 




欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价

.net mvc分部页,.net core分部页

.net分部页的三种方式第一种:@Html.Partial(&quot;_分部页&quot;)第二种:@{ Html.RenderPartial(&quot;分部页&quot;);}...

.net mvc 登录后跳回原来的页面

把当前连接传递到登录界面,然后登录后根据那个连接跳转回来就好跳转前可以使用Request.Url获取当前页面的地址:&lt;ahref=...

asp.net mvc @helper用法

@helper可以在视图定义一个公共块,这样就可以实现代码的重复调用下面来一个很简单的例子:就是输出一个list的数据。实际项...

ASP.net mvc从请求到响应发生了什么

先就贴一张图哦在来一张

.net mvc 使用百度编辑器详细教程:(1)配置编辑器

一、什么是百度编辑器百度编辑器UEditor是由百度web前端研发部开发一款应用于网站的编辑器,具有轻量,可定制,注重用户体...

Asp.net mvc 利用(aspose+pdfobject.js) 实现在线预览office文档

Aspose.Total是Aspose公司旗下的最全的一套office文档管理方案,通过它,我们可以有计划地操纵一些商业中最流行的文件格式...

asp.net mvc 下载文件

方法1:publicvoidDownLoad() { stringfilePath=&quot;文件路径&quot;; using(FileStreamfs=newFileStream(filePath,Fil...

ASP.net mvc + WebUploader+BootStrap实现文件上传进度条显示

引入需要的资源文件:&lt;scriptsrc=&quot;~/Content/jquery-1.9.1.min.js&quot;&gt;&lt;/script&gt; &lt;linkhref=&quot;...

ASP.net mvc + WebUploader实现文件上传二:使用中的一些问题

如何把文件选择按钮换成自己的因为WebUploader设置关联的上传id会有他的样式,有时候想换成自己的开始想的是添加自己的文件...

ASP.net mvc 模型验证

MVC自带有模型验证,它是通过System.ComponentModel.DataAnnotations命名空间完成。 我们要做的只是给Model类的各属性加上...

asp.net mvc过滤器

过滤器简介:面向切面的编程方式可以实现不改动原有逻辑的基础上添加自己的逻辑使用的时候添加一个配置即可,不想用的时候...

ASP.net mvc Controller接收ajax post方式发送过来的json对象或数组数据

1、将json数组或者json对象用JSON.stringify()方法序列化成字符串,再将字符串提交到后台。varstuarr=newArray();//创建一...

.net mvc json对象或者json对象数组的序列化和反序列化(一)

1、用JSON.stringify()将对象stuarr或者json数组stuarr序列化成字符串,然后提交给后台。$.post(&quot;/home/DoUpdate&quot...

.net mvc json对象或者json对象数组的序列化和反序列化(二)

1、用JSON.stringify()将对象stuarr或者json数组stuarr序列化成字符串,然后提交给后台。$.post(&quot;/home/DoUpdate&quot...

.net mvc 中lamdba实现left join

1、left join 用GroupJoin来实现,join的返回结果为一对一,GroupJoin返回结果为一对多,相当于集合中还有集合publicAction...

.net mvc EF框架中Left Join的SelectMany原理

下列代码为实现Left join 查询数据库,如果在调用SelectMany方法之前已经ToList,返回之后就结束操作数据库了,SelectMany ...
如果有缘,错过了还会重来,如果无缘,相遇了也会离开
排名
9
文章
115
粉丝
5
评论
5
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术