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>