public static UserObject GetUserData(String username, String pass, String loginAs)
        {
            UserManagementDataContext db = BasePage.GetDatabaseContext();

            int adminID = -1;

            var resU = from u in db.Users where u.UserName == username select u;
            s_Us = resU.SingleOrDefault();

            if ((s_Us != null) && (s_Us.Lockout == false))
            {
                if (ValidateUser(username, pass))
                {
                    if ((s_Us.Roles.Select(r => r.RoleID == 1).Count() == 1) && (loginAs != ""))
                    {
                        adminID = s_Us.UserID;
                        username = loginAs;
                        resU = from u in db.Users where u.UserName == loginAs select u;
                        s_Us = resU.SingleOrDefault();
                    }
                    if ((s_Us != null) && (s_Us.Lockout == false))
                    {
                        Dictionary<string, List<Right>> pagePermissionList = BuildPagePermissionList();
                        String permissionList = db.fnGetPermissionsList(s_Us.UserID);
                        UserObject userobj = new UserObject(username, s_Us, adminID, permissionList, pagePermissionList);

                        return userobj;
                    }
                }
            }
            return null;
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            Request.Cookies.Clear();
            mnuMain.Items.Clear();
            m_User = (UserObject)Session["User"];

            if (m_User != null)
            {
                lblLoggedInAs.Visible = true;
                lblLoggedInAs.Text = string.Concat(GetLocalResourceObject("LoggedInAs"), " ", m_User.UserName, "    |    ");
                linkLogout.Visible = true;
                lblVersion.Visible = true;
                lblVersion.Text = ConfigurationManager.AppSettings["version"];
                if (MenuList == null)
                    FetchMenu();
                BuildMenu(mnuMain, dsMenuItems);
                Session["User"] = m_User;
				
            }

            HiddenField field = new HiddenField
            {
                ID = "SessionID",
                Value = Session.SessionID
            };
            Page.Form.Controls.Add(field);
            lblError.Text = "";
        }
 public static bool HasRightForPage(UserObject user, string page, Right r)
 {
     if (user != null)
         if (user.PagePermissionList.Keys.Contains(page))
             if (user.PagePermissionList[page].Contains(r))
                 return true;
     return false;
 }
 public static bool CanSeeDetail(UserObject user, string page, int id)
 {
     //if (id != -1)
     //{
     //    if ((page == "~/UserDetail.aspx") && (BaseUserControl.canSeeUser(user.UserID, id)))
     //        return true;
     //    else if ((page == "~/RoleDetail.aspx") && (BaseUserControl.canSeeRole(user.UserID, id)))
     //        return true;
     //    return false;
     //}
     return true;
 }
        public static StringBuilder GetContext(UserObject userobj)
        {
            List<contextparam> cpList = new List<contextparam>();
            contextparams cps = new contextparams();
            contextparam cp = new contextparam
            {
                key = "UserID",
                Value = userobj.UserID.ToString()
            };
            cpList.Add(cp);
            cp = new contextparam
            {
                key = "AdminID",
                Value = userobj.AdminID.ToString()
            };
            cpList.Add(cp);
            cp = new contextparam
            {
                key = "LCID",
                Value = Thread.CurrentThread.CurrentCulture.LCID.ToString()
            };
            cpList.Add(cp);
            cp = new contextparam
            {
                key = "default_LCID",
                Value = "1033"
            };
            cpList.Add(cp);
            cp = new contextparam
            {
                key = "PermissionIDs",
                Value = userobj.Permissions
            };
            cpList.Add(cp);

            if (userobj.UserID == 1)
            {
                cp = new contextparam
                {
                    key = "Override_Delete",
                    Value = "1"
                };
                cpList.Add(cp);
            }

            contextparam[] array = cpList.ToArray<contextparam>();
            cps.contextparam = array;

            XmlSerializer ser = new XmlSerializer(typeof(contextparams));
            StringBuilder sb = new StringBuilder();
            XmlWriterSettings set = new XmlWriterSettings
            {
                OmitXmlDeclaration = true
            };
            XmlWriter xml = XmlWriter.Create(sb, set);
            ser.Serialize(xml, cps);
            return sb;
        }