日期:2014-05-17 浏览次数:20751 次
using System;
using System.Web;
namespace DBUtility
{
public class WebHttpModule : IHttpModule
{
#region IHttpModule 接口内置方法 -根方法-
void IHttpModule.Dispose()
{
//进行垃圾回收之前进行一些清理工作
}
void IHttpModule.Init(HttpApplication Application)
{
Application.AcquireRequestState += (Application_AcquireRequestState);
}
#endregion
#region 调用方法
private void Application_AcquireRequestState(Object source, EventArgs e)
{
//获取当前 HttpApplication 应用程序
HttpApplication Application = (HttpApplication)source;
#region 禁止非管理员用户访问机密路径文件
//如果访问者 访问管理员目录 Admin
if (Application.Request.Url.LocalPath.Trim().ToLower().IndexOf("/" + System.Configuration.ConfigurationManager.AppSettings["AdminCatalog"].ToString().Trim().ToLower() + "/") != -1)
{
//如果访问者 访问的是管理员目录下的 login.aspx 文件的话
if (Application.Request.Url.LocalPath.Trim().ToLower().IndexOf("/" + System.Configuration.ConfigurationManager.AppSettings["AdminCatalog"].ToString().Trim().ToLower() + "/login.aspx") != -1)
{
//允许访问login.aspx文件
return;
}
else if (Application.Request.Url.LocalPath.Trim().ToLower().IndexOf("/" + System.Configuration.ConfigurationManager.AppSettings["AdminCatalog"].ToString().Trim().ToLower() + "/css/") != -1)
{
//允许访问css文件夹下内容
return;
}
else if (Application.Request.Url.LocalPath.Trim().ToLower().IndexOf("/" + System.Configuration.ConfigurationManager.AppSettings["AdminCatalog"].ToString().Trim().ToLower() + "/images/") != -1)
{
//允许访问images文件夹下内容
return;
}
else if (Application.Request.Url.LocalPath.Trim().ToLower().IndexOf("/" + System.Configuration.ConfigurationManager.AppSettings["AdminCatalog"].ToString().Trim().ToLower() + "/javascript/") != -1)
{
//允许访问javascript文件夹下内容
return;
}
else
{
//如果访问者 访问的不是管理员目录下的 CSS目录 JavaScript目录 Images目录 Flash目录 login.aspx文件
//如果访问者不是管理员的话
if (!DBUtility.Permissions.JudgeAdmin())
{
//将访问者请到404页面上
Application.Response.StatusCode = 404;
Application.Response.End();
}
else
{
//允许管理员访问
return;
}
}
#endregion
}
}
#endregion
}
}
using System;
using System.Web;
using System.Web.SessionState;
namespace DBUtility
{
/// <summary>
/// 验证管理员、用户各种权限
/// </summary>
public class Permissions : IRequiresSessionState
{
#region 验证访问者是否是游客身份
/// <summary>
/// 验证访问者是否是游客身份
/// </summary>
/// <returns>是:true 否:false</returns>
public static bool PermissionsNull()
{
//验证访问者Session["Permissions"]是否为空
//就是说 访问者 目前是否是游客身份,只有游客身份Session["Permissions"]为空值