日期:2014-05-17 浏览次数:20495 次
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"]为空值