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

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>

 

 

posted @   Mr zhao  阅读(229)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示