ASP.NET运行时的处理流程


  本文标签:ASP.NET运行时

  ASP.NET运行时的处理流程

  其实在ASP.NET中每一个请求都进行了验证和授权的  。进行验证和授权的过程实际上是通过触发相应的事件来完成的  。

  在讲述验证事件之前,首先清晰一个流程:ASP.NET运行时接到一个请求的处理的流程  。

  先把流程描述一下,使得大家有个总体把握:一个请求来了,经过IIS,通过ISAPI,就到达了ASP.NET的管道中,然后经过一些的转化和包装,然后ASP.NET运行时开始处理这个请求了,然后是进行验证和授权,然后再进行一系列的处理,最后确定请求是是什么文件,如果是.aspx的,那么然后就开始页面的生命周期,如下图  。

开始页面的生命周期

下面就处理请求时候触发的事件顺序如下:

BeginRequest: 开发处理请求,是处理ASP.NET请求时触发的第一个事件

AuthenticateRequest:处理身份验证
...
AuthorizeRequest:处理授权
...

所以大家可以看出,其实在请求的处理过程中,身份的验证和授权发生的时期是很早的  。而且有关验证的一些信息,如用户名和角色在处理完这两个事件之后就已经确定,并且填充  。下面我想用个图来讲述:

用户名和角色处理


一般对于请求的验证和授权,我们是希望也应该自己控制这个过程的,所以我们可以在AuthenticateRequest和AuthorizeRequest的事件处理中加入我们自己的代码  。以上是ASP.NET运行时的处理流程  。