示例#1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if ((bool)Session["Allow"] == false)            //Check whether the Session is Valid or not
            {
                Session["CustomError"] = "Your session has expired. Cannot Continue.";
                Response.Redirect("AppSessionExpired.htm");
                //Server.Transfer("appError.aspx?ID=" + Guid.NewGuid().ToString());
            }
            else
            {
                Session["FromNavigation"] = false;  //Variable to force that the the page has been called from the normal MENU operation
                Session["MenuInfo"]       = null;
                // Session["MenuInfoAudit"] = null;
                //Session["FileUploadParams"] = null;
                //Session["DataUID"] = "";
                //Initialise the Session Variables used as Temporary Placeholders
                String PageToNavigate = String.Empty;
                PageToNavigate = Request.QueryString["ID"].Trim();
                //string isAudit = "";
                //try
                //{
                //    isAudit = Request.QueryString["ISAUDIT"].ToString().Trim().ToUpper();
                //}
                //catch (Exception ex)
                //{ }

                String ParamString = String.Empty;
                if (PageToNavigate.ToUpper() == "ERROR" || PageToNavigate.Trim().Length == 0)
                {
                    Session["CustomError"] = "Invalid navigation option. Please try again";
                    Server.Transfer("appError.aspx?ID=" + Guid.NewGuid().ToString() + "&ID=" + DateTime.Now.ToString());
                }
                else
                {
                    string authToken = "";
                    try
                    {
                        authToken = Request.Cookies["appToken"].Value.Trim();
                    }
                    catch (Exception ex)
                    {
                        Session["CustomError"] = "Your session Token has expired. Cannot Continue.";
                        Server.Transfer("appError.aspx");
                        return;
                    }
                    if (authToken != Session["AuthToken"].ToString().Trim() || (authToken.Length == 0))
                    {
                        Session["Allow"] = false;
                        Session.Abandon();
                        Server.Transfer("appError.aspx?XX=Your session Token has expired. Cannot Continue.");
                        return;
                    }
                    if (PageToNavigate.Trim().ToUpper() == "LOGOUT")
                    {
                        //objBusnessObjects.UserIDInfo = ((UserInfo)Session["UserInfo"]).UserID;
                        //objBusnessObjects.UserDisplayNameInfo = ((UserInfo)Session["UserInfo"]).UserName;
                        //objBusnessObjects.ModuleInfo = ((UserInfo)Session["UserInfo"]).Module;
                        //objBusnessObjects.LocationInfo = ((UserInfo)Session["UserInfo"]).FactCode;
                        //objBusnessObjects.IpAddress = Request.UserHostAddress;
                        //objAppNavigate.InsertInSysAudit(objBusnessObjects, "System Access", "System Log out Information", "Log Out", "<font color = 'green'>Successful Log-Out from web application from IP Address : " + Request.UserHostAddress + "</font>", "SYS_AUDIT");

                        //// VISITOR_ENTRY objBal = new VISITOR_ENTRY();
                        //objBal.SaveLogInfo(Session["USER_ID"].ToString(), "<font color = 'green'>Successful Log-Out from web application from IP Address : " + Request.UserHostAddress + "</font>");
                        Session["AuthToken"] = "";
                        if (Response.Cookies["appToken"] != null)
                        {
                            Response.Cookies["appToken"].Value   = "";
                            Response.Cookies["appToken"].Expires = DateTime.Now.AddMonths(-100);
                            Response.AppendCookie(Response.Cookies["appToken"]);
                        }
                        Session.Clear();
                        Session.Abandon();
                        Session.RemoveAll();
                        Response.Redirect("Default.aspx?ID=" + Guid.NewGuid().ToString() + "&DT=" + DateTime.Now);
                    }
                    else if (PageToNavigate.Trim().ToUpper() == "HOME")
                    {
                        Server.Transfer("Default.aspx?ID=" + Guid.NewGuid().ToString() + "&DT=" + DateTime.Now);
                    }
                    else
                    {
                        Session["CustomError"] = "";

                        //Check whether the access for the specified MENU is available to the User
                        //Also check that the requested page is available in the SYstem Schema or not.

                        ClsMenuInfo objMenuDetails = new ClsMenuInfo();
                        DataTable   ObjDataTable   = new DataTable();
                        ObjDataTable = objLtmsService.GetIsMenuAccessAvailable(((ClsUserInfo)Session["UserInfo"]).UserRoleId, PageToNavigate);
                        if (ObjDataTable.Rows.Count > 0)
                        {
                            objMenuDetails.MenuCode       = ObjDataTable.Rows[0]["MENUCODE"].ToString();
                            objMenuDetails.MenuDesc       = ObjDataTable.Rows[0]["MENUDESCRIPTION"].ToString();
                            objMenuDetails.PageToNavigate = ObjDataTable.Rows[0]["PageToNavigate"].ToString();
                            objMenuDetails.AllowEntry     = ObjDataTable.Rows[0]["EntryAccessAllowed"].ToString() == "Y" ? true : false;
                            objMenuDetails.AllowEdit      = ObjDataTable.Rows[0]["EditAccessAllowed"].ToString() == "Y" ? true : false;
                            objMenuDetails.AllowDelete    = ObjDataTable.Rows[0]["DeleteAccessAllowed"].ToString() == "Y" ? true : false;
                            objMenuDetails.AllowView      = ObjDataTable.Rows[0]["ViewAccessAllowed"].ToString() == "Y" ? true : false;
                            ObjDataTable.Dispose();

                            if (objMenuDetails != null)
                            {
                                Session["MenuInfo"] = objMenuDetails;
                                if (!(objMenuDetails.AllowEntry || objMenuDetails.AllowEdit || objMenuDetails.AllowDelete || objMenuDetails.AllowView))
                                {
                                    Session["CustomError"] = "You do not have proper privilege for the selected page.<br><br><br>Please contact the Administrator for further assistance.";
                                    Server.Transfer("appError.aspx?ID=" + Guid.NewGuid().ToString() + "&DT=" + DateTime.Now);
                                }
                                else
                                {
                                    ParamString = "?ID=" + Guid.NewGuid().ToString();
                                    Session["FromNavigation"] = true;

                                    if (System.IO.File.Exists(Server.MapPath(objMenuDetails.PageToNavigate)))
                                    {
                                        Server.Transfer(objMenuDetails.PageToNavigate);
                                    }
                                    else
                                    {
                                        Session["CustomError"] = "The selected page is either Under Construction or is Inaccessible.<br><br><br>Please contact the Administrator for further assistance.";
                                        Server.Transfer("appError.aspx?ID=" + Guid.NewGuid().ToString() + "&DT=" + DateTime.Now);
                                    }
                                }
                            }
                            else
                            {
                                Session["CustomError"] = "You need to have Viewer privilege for the requested page.";
                                Server.Transfer("appError.aspx?ID=" + Guid.NewGuid().ToString() + "&ID=" + DateTime.Now.ToString());
                            }
                        }
                        else
                        {
                            Session["CustomError"] = "You need to have Viewer privilege for the requested page.";
                            Server.Transfer("appError.aspx?ID=" + Guid.NewGuid().ToString() + "&ID=" + DateTime.Now.ToString());
                        }
                    }
                }
            }
        }