asp.net 使用IHttpModule 做权限检查 登录超时检查(转)

时间:2023-03-08 19:12:34

IHttpModule 权限 检查 登录超时检查 这样就不需要每个页面都做一次检查 也不需要继承任何父类。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
///  MaQiang
///  IHttpModule  权限 检查 登录超时检查 这样就不需要每个页面都做一次检查 也不需要继承任何父类
/// </summary>
public class MyFilter : IHttpModule
{
    public void Init(HttpApplication application)
    {
        application.AcquireRequestState += new EventHandler(this.Application_AcquireRequestState);
    }
    public void Application_AcquireRequestState(Object source, EventArgs e)
    {
        HttpApplication application=(HttpApplication)source;
        string id = (null == application.Context.Session["ID"]) ? "" : application.Context.Session["ID"].ToString();//获取User
        string url = application.Context.Request.Path;
        if (null == id || "" == id)
        {
            application.Context.Response.Write("您没有权限"+url);
        }
       
    }
    public void Dispose()
    { }

}

然后在 web 中添加:

<?xml version="1.0"?>
<!--
  有关如何配置 ASP.NET 应用程序的详细信息,请访问
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
 <system.web>
  <compilation debug="true" targetFramework="4.0"/>
  <httpModules>
   <add name="MyFilter" type="MyFilter"/>
  </httpModules>
 </system.web>
</configuration>