using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using DeiNiu.wms.Logical; /// /// utils 的摘要说明 /// public class PageBase : PagePublic { public PageBase() { } // protected LEmployee lem; // const string DefaultPage = "~/index.aspx"; // const string HomePage = "~/Desktop.aspx"; public void CheckAuthority() { if (checkCloseIE()) return; string requestPage = Request.AppRelativeCurrentExecutionFilePath + Request.Url.Query; requestPage = requestPage.ToUpper(); // if (DefaultPage.Equals(requestPage)) return; //起始页不做判断 if (DefaultPage.ToUpper() == requestPage) return; //起始页不做判断 if (lem == null) { logobj.LoginLog(string.Empty,"lem is null"); Response.Redirect(DefaultPage); } if (HomePage.ToUpper() == requestPage) return; if (lem.GetEmployee.em_account == "Root") //内建管理员 { return; } if (lem.AuthList.Contains(requestPage)) return; if (!new LRoleAuthority().GetPublicAuthorityList().Contains(requestPage)) { logobj.RequestPageLog(); logobj.LoginLog(lem.GetEmployee.em_account ,"NoAccess!"); Response.Redirect(DefaultPage); } } protected override void OnPreInit(EventArgs e) { base.OnPreInit(e); CheckAuthority(); } bool checkCloseIE() { if (!string.IsNullOrEmpty(Request.QueryString["___command"])) { string cmd = Request.QueryString["___command"]; if (cmd == "ClearSession") { if ((Session["CurrentUser"] != null)) { if (System.Configuration.ConfigurationManager.AppSettings["sessionstate"] != "InProc") if (Session["CurrentUserId"] != null) { // ((ArrayList)Application["userlst"]).Remove(Session["CurrentUserAccount"].ToString()); DeiNiu.RequestLog logobj = new DeiNiu.RequestLog(); logobj.LogoutLog(int.Parse(Session["CurrentUserId"].ToString())); } } Session.Abandon(); //清空Session, all sessions will be clear ? no kiding, it will obsolete the current session. return true; } } return false; } }