Example #1
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         if (CurrMember == null)
         {
             RedirectToLogin();
         }
         else
         {
             //判断是否输过二次密码
             string     cacheKey = string.Format("murl_{0}", CurrMember.MID);
             PageAccess paobj    = GetCache(cacheKey) as PageAccess;
             if (paobj != null && paobj.IsChecked == true && paobj.Url == Request.Url.ToString())
             {
                 //页面初始化
                 litLoginName.Text = CurrMember.NickName;
                 litGrade.Text     = CurrMember.Grade.ToString();
             }
             else
             {
                 paobj = new PageAccess()
                 {
                     IsChecked = false,
                     Url       = Request.Url.ToString()
                 };
                 SetCache(cacheKey, paobj, DateTime.Now.AddMinutes(1));
                 Response.Redirect("./?cmd=member_manage");
             }
         }
     }
 }
Example #2
0
        public bool CreatePageAccess(PageAccess pa)
        {
            bool            result = true;
            BOTADataContext db     = new BOTADataContext(connectString);

            try
            {
                //TODO: I should also check if such project and user exists.

                if (!db.PageAccesses.Any(l => l.Controller == pa.Controller && l.Action == pa.Action && l.RoleId == pa.RoleId)) // !if exists.
                {
                    db.PageAccesses.InsertOnSubmit(pa);
                }
                else
                {
                    return(false);
                }

                db.SubmitChanges();
            }
            catch (Exception ex)
            {
                result = false;
            }

            return(result);
        }
Example #3
0
        public IEnumerable <GroLinkItem> PopulateLinkItems(LinkItemCollection linkCollection, HttpContextBase httpContext)
        {
            var result = new List <GroLinkItem>();

            if (linkCollection == null)
            {
                return(result);
            }
            foreach (var item in linkCollection)
            {
                var linkItem = GroLinkItem.FromLinkItem(item);
                if (linkItem.Type != GroLinkType.InternalLink)
                {
                    result.Add(linkItem);
                    continue;
                }
                var content = item.GetContent();
                if (content is PageData && !PageAccess.CanAccessPage(_usersManagementService, _orgUserRepo, (PageData)content, httpContext))
                {
                    continue;
                }
                result.Add(linkItem);
            }
            return(result);
        }
Example #4
0
        protected override void OnAuthorization(AuthorizationContext actionContext)
        {
            base.OnAuthorization(actionContext);
            //stop filtering if in edit mode
            if (PageEditing.PageIsInEditMode)
            {
                return;
            }

            if (!"XMLHttpRequest".Equals(actionContext.HttpContext.Request.Headers["X-Requested-With"], StringComparison.OrdinalIgnoreCase) &&
                (SiteUser == null && string.IsNullOrWhiteSpace(actionContext.HttpContext.User?.Identity?.Name)))
            {
                actionContext.Result = Redirect(ConfigurationManager.AppSettings["loginUrl"]);
                return;
            }

            var currentPage = PageContext.Page;
            var canAccess   = PageAccess.CanAccessPage(UserManager, _orgUserRepo, currentPage, actionContext.HttpContext);

            if (canAccess)
            {
                return;
            }

            actionContext.ReturnUnAuthorizedResult();
        }
Example #5
0
 protected void Button1_Click(object sender, EventArgs e)
 {
     if (CurrMember == null)
     {
         RedirectToLogin();
     }
     else
     {
         if (CurrMember.ManagePWD == XCommon.Uitl.MD5(txtNextPWD.Text))
         {
             string     cache = string.Format("murl_{0}", CurrMember.MID);
             PageAccess pa    = new PageAccess()
             {
                 IsChecked = true,
                 Url       = hidViewState.Value
             };
             SetCache(cache, pa, DateTime.Now.AddMinutes(1));
             Response.Redirect(pa.Url);
         }
         else
         {
             litMsg.Text   = "二次密码错误";
             phMsg.Visible = true;
         }
     }
 }
Example #6
0
    protected void uxDeleteButton_Click(object sender, EventArgs e)
    {
        bool deleted = false;

        foreach (GridViewRow row in uxGrid.Rows)
        {
            CheckBox deleteCheck = (CheckBox)row.FindControl("uxCheck");
            if (deleteCheck != null &&
                deleteCheck.Checked)
            {
                string pageID = uxGrid.DataKeys[row.RowIndex]["PageID"].ToString().Trim();
                PageAccess.Delete(pageID);
                deleted = true;
            }
        }
        uxGrid.EditIndex = -1;

        if (deleted)
        {
            uxMessage.DisplayMessage(Resources.CustomerMessages.DeleteSuccess);
        }

        RefreshGrid();

        AdminUtilities.ClearLanguageCache();
    }
Example #7
0
        public void ShouldLogInSuccessfuly()
        {
            PageAccess.LogInToAdmin(Driver);
            IWebElement showLoginWhenLogged = Driver.FindElement(By.XPath("/html/body/header/nav/div/div/ul[1]/li[1]/a"));

            Assert.AreEqual("Hello [email protected]!", showLoginWhenLogged.Text);
        }
Example #8
0
 /// <summary>
 /// Save Page Access
 /// </summary>
 /// <param name="pageaccess">pageaccess</param>
 /// <returns>Id</returns>
 public int SavePageAccess(PageAccess pageaccess)
 {
     using (ServiceContext service = new ServiceContext(false))
     {
         return(service.Save <PageAccess>(pageaccess));
     }
 }
Example #9
0
 private static extern IntPtr CreateFileMapping(
     IntPtr hFile,           // handle to file
     IntPtr lpAttributes,    // security
     PageAccess flProtect,   // protection
     uint dwMaximumSizeHigh, // high-order DWORD of size
     uint dwMaximumSizeLow,  // low-order DWORD of size
     string /*?*/ lpName     // object name
     );
 /// <summary>
 /// Initialize post access object
 /// </summary>
 public BaseController()
 {
     _broadcaster = new Broadcaster();
     _user        = new UserAccess();
     _post        = new PostAccess();
     _chat        = new ChatAccess();
     _page        = new PageAccess();
 }
Example #11
0
        public void ShouldLogInAndLogOutSuccessfuly()
        {
            PageAccess.LogInToAdmin(Driver);
            PageAccess.LogOut(Driver);
            IWebElement loginButton = Driver.FindElement(By.CssSelector("li.nav-item:nth-child(2) > a:nth-child(1)"));

            Assert.AreEqual("Login", loginButton.Text);
        }
Example #12
0
        public IEnumerable <TContent> GetSiblingsForVisitor <TContent>(PageData page, HttpContextBase httpContext, bool excludeInvisible) where TContent : PageData
        {
            var siblings = _contentRepository
                           .GetChildren <TContent>(page.ParentLink)
                           .Where(p => PageAccess.CanAccessPage(_usersManagementService, _orgUserRepo, p, httpContext))
                           .Where(p => p.VisibleInMenu && p.CheckPublishedStatus(PagePublishedStatus.Published));

            return(siblings);
        }
        public ActionResult DeleteAccess(PageAccess pa)
        {
            if (pa.ID > 0)
            {
                bool updated = staffservice.DeletePageAccess(pa.ID);
            }

            return(RedirectToAction("AccessList"));
        }
        public ActionResult EditAccess(int?ID)
        {
            PageAccess pa = null;

            if (ID.HasValue)
            {
                pa = staffservice.GetPageAccessByID(ID.Value);
            }
            return(View(pa));
        }
        public ActionResult CreateAccess(PageAccess pa, int?SelectedID)
        {
            if (SelectedID.HasValue)
            {
                pa.RoleId = SelectedID.Value;
            }

            staffservice.CreatePageAccess(pa);
            return(RedirectToAction("AccessList"));
        }
        public ActionResult CreateAccess()
        {
            //Insert


            ViewData["RolesList"] = new SelectList(staffservice.GetALLSSPRoles(), "RoleID", "RoleName");

            PageAccess pa = new PageAccess();

            return(View(pa));
        }
Example #17
0
 public void Register(PageAccess pageAccess)
 {
     try
     {
         pageAccess.IpAddress = HttpContext.Connection.RemoteIpAddress.ToString();
         SendMessage(pageAccess);
     }
     catch (Exception e)
     {
         Console.Write(e.Message);
     }
 }
Example #18
0
 public ActionResult Index(List <PageAccessViewModel> test)
 {
     foreach (var item in test)
     {
         PageAccess pageAccess = db.PageAccesses.Where(x => x.ID == item.PageAccessID).FirstOrDefault();
         pageAccess.Add    = item.Add;
         pageAccess.Edit   = item.Edit;
         pageAccess.View   = item.View;
         pageAccess.Delete = item.Delete;
         db.SaveChanges();
     }
     return(RedirectToAction("index"));
 }
Example #19
0
        public IEnumerable <InformationPage> GetLatestInformationPages(ContentReference archivePage, HttpContextBase httpContext, int count = 0, bool filterByAccessRights = true)
        {
            if (archivePage == ContentReference.EmptyReference || archivePage == null)
            {
                return(new List <InformationPage>());
            }

            var result = _contentRepository
                         .GetChildren <InformationPage>(archivePage)
                         .Where(page => PageAccess.CanAccessPage(_userManagementService, _organizationRepo, page, httpContext))
                         .OrderByDescending(x => x.StartPublish);

            return(count > 0
                ? FilterForVisitor.Filter(result).Take(count).Cast <InformationPage>().ToList()
                : FilterForVisitor.Filter(result).Cast <InformationPage>().ToList());
            //return count > 0 ? result.Take(count).ToList() : result.ToList();
        }
Example #20
0
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            if (filterContext == null)
            {
                throw new ArgumentNullException("filterContext");
            }

            _controllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
            _actionName     = filterContext.ActionDescriptor.ActionName;
            _urlRequest     = filterContext.HttpContext.Request.AppRelativeCurrentExecutionFilePath;
            _urlName        = string.Format("~/{0}/{1}", _controllerName, _actionName);

            //skipAuthorization = filterContext.ActionDescriptor.IsDefined(typeof(AllowAnonymousAttribute), true);
            if (!skipAuthorization)
            {
                skipAuthorization =
                    filterContext.ActionDescriptor.ControllerDescriptor.IsDefined(typeof(AllowAnonymousAttribute), true);
            }
            PageAccess page_ = null;

            if (filterContext.HttpContext.User.Identity.IsAuthenticated)
            {
                if (_urlRequest.ToLower() == URL_HOME.ToLower())
                {
                    LoadAccessPages(filterContext.HttpContext.User);
                    page_ = _pages.FirstOrDefault(x => x.IsDefault);
                    var pageDefault = _pages == null ? null : page_.RouteUrl;
                    if (pageDefault != null && pageDefault.ToLower() != _urlName.ToLower())
                    {
                        _urlRequest          = pageDefault;
                        filterContext.Result = new RedirectResult(pageDefault);
                    }
                }

                var menus = GetAccessMenu(filterContext.HttpContext.User);

                filterContext.Controller.ViewBag.MenuData = menus;
            }



            //filterContext.Controller.ViewBag.FileVersion = ConfigurationManager.AppSettings["FileVersion"];

            base.OnAuthorization(filterContext);
        }
Example #21
0
 public PageAccess GetPageAccessByID(int id)
 {
     PageAccess      pa = null;
     BOTADataContext db = new BOTADataContext(connectString);
     {
         try
         {
             pa = (from a in db.PageAccesses
                   where a.ID == id
                   select a).FirstOrDefault();
             return(pa);
         }
         catch
         {
             return(null);
         }
     }
 }
Example #22
0
        public int UpdateAccessCount(string url, string thumbnail, string title, string ipAddress)
        {
            var now  = DateTime.Now;
            var page = _context.Pages.Find(url);

            if (page == null)
            {
                page = new Page
                {
                    Url       = url,
                    Thumbnail = thumbnail,
                    Title     = title
                };
                _context.Pages.Add(page);
            }
            else
            {
                page.Title = title; page.Thumbnail = thumbnail;
            }
            var pageAccess = _context.PageAccesses.Find(url, ipAddress, now.Date);

            if (pageAccess == null)
            {
                pageAccess = new PageAccess
                {
                    Count      = 1,
                    IPAdress   = ipAddress,
                    LastAccess = now,
                    Date       = now.Date,
                    PageUrl    = url
                };
                _context.PageAccesses.Add(pageAccess);
            }
            else if (DateTime.Now.Subtract(pageAccess.LastAccess).Minutes >= 5)
            {
                pageAccess.Count     += 1;
                pageAccess.LastAccess = DateTime.Now;
            }
            _context.SaveChanges();
            return(_context.PageAccesses.Where(ac => ac.PageUrl == url).Sum(ac => ac.Count));
        }
Example #23
0
        public bool UpdatePageAccess(PageAccess pa)
        {
            BOTADataContext db = new BOTADataContext(connectString);
            {
                try
                {
                    if (pa.ID > 0)
                    {
                        db.PageAccesses.Attach(pa);
                        db.Refresh(RefreshMode.KeepCurrentValues, pa);
                    }

                    db.SubmitChanges();
                    return(true);
                }
                catch
                {
                    return(false);
                }
            }
        }
        public async Task <JsonResult> AssignPageAccess(PageAccessList foRequest)
        {
            bool IsSuccess = false;

            try
            {
                foreach (var pageAccess in foRequest.objPageAccess)
                {
                    if (pageAccess.Id == 0)
                    {
                        PageAccess objPageAccess = new PageAccess
                        {
                            PageId          = pageAccess.PageId,
                            UserId          = pageAccess.UserId,
                            IsAccessGranted = pageAccess.IsAccessGranted
                        };

                        await Repository <PageAccess> .InsertEntity(objPageAccess, entity => { return(entity.Id); });
                    }
                    else
                    {
                        PageAccess objPageAccess = Repository <PageAccess> .GetEntityListForQuery(x => x.Id == pageAccess.Id).Item1.FirstOrDefault();

                        objPageAccess.IsAccessGranted = pageAccess.IsAccessGranted;

                        await Repository <PageAccess> .UpdateEntity(objPageAccess, (entity) => { return(entity.Id); });
                    }

                    TempData["SuccessMsg"] = "Page Access has been updated.";
                }
                IsSuccess = true;
            }
            catch
            {
                IsSuccess = false;
            }

            return(Json(IsSuccess));
        }
Example #25
0
        protected override bool AuthorizeCore(HttpContextBase httpContext)
        {
            if (httpContext == null)
            {
                throw new ArgumentNullException("httpContext");
            }

            if (skipAuthorization)
            {
                return(true);
            }

            var user = httpContext.User;

            if (user.Identity.IsAuthenticated)
            {
                LoadAccessPages(user);
                bool       existe = false;
                PageAccess page_  = null;
                if (_urlRequest.ToLower().StartsWith(_urlName.ToLower()))
                {
                    page_  = _pages.FirstOrDefault(x => x.RouteUrl.ToLower().Contains(_urlName.ToLower()));
                    existe = page_ != null;
                }
                else
                {
                    page_  = _pages.FirstOrDefault(x => x.RouteUrl.ToLower().Contains(_urlRequest.ToLower()));
                    existe = page_ != null;
                }
                httpContext.Session["menuid"] = string.Format("m_{0}", page_ == null ? 0 : page_.id);

                return(existe);

                // Registrar ingreso
            }


            return(base.AuthorizeCore(httpContext));
        }
    protected void PopulateControls()
    {
        if (IsAdminModifiable())
        {
            if (uxGrid.Rows.Count > 0)
            {
                DeleteVisible(true);
            }
            else
            {
                DeleteVisible(false);
            }
        }
        else
        {
            uxAddButton.Visible = false;
            DeleteVisible(false);
        }

        uxPathLabel.Text = PageAccess.GetPathByID(CurrentPageID);

        RefreshGrid();
    }
        public async Task <ActionResult> GetUsersOfThisOrganizationAsync(string pageId)
        {
            if (string.IsNullOrWhiteSpace(pageId))
            {
                return(new HttpStatusCodeResult(400));
            }
            var page = _contentRepo.Get <HandleOrganizationUserPage>(new System.Guid(pageId));

            if (page == null)
            {
                return(new HttpStatusCodeResult(400));
            }

            if (!PageAccess.CanAccessPage(UserManager, _orgUserRepo, page, HttpContext))
            {
                return(new HttpStatusCodeResult(401));
            }

            var activeCustomer     = UserManager.GetActiveCustomer(HttpContext);
            var orgUsersByProfiles = await _orgUserRepo.GetOrganizationUsersByProfileAsync(activeCustomer);

            var userAndRoles = orgUsersByProfiles.Select(user => new
            {
                email           = user.Email,
                name            = user.Name,
                mobile          = user.Mobile,
                phone           = user.Phone,
                profilePicUrl   = string.IsNullOrWhiteSpace(user?.ProfilePicUrl) ? "/Static/images/user-avatar__default.jpg" : user.ProfilePicUrl,
                userName        = user.UserName,
                roles           = user.Roles,
                lockedOut       = user.LockedOut,
                roleProfileId   = user?.RoleProfileId ?? string.Empty,
                roleProfileName = user?.RoleProfileName ?? string.Empty
            });

            return(Json(userAndRoles, JsonRequestBehavior.AllowGet));
        }
Example #28
0
        /// <summary>
        /// GetPageAccessRight
        /// </summary>
        /// <param name="controllerName">controllerName</param>
        /// <param name="actionName">actionName</param>
        public void GetPageAccessRight(string controllerName, string actionName = "")
        {
            this.pageAccessRight            = new PageAccessRight();
            this.pageAccessRight.PageName   = actionName;
            this.pageAccessRight.Controller = controllerName;
            this.pageAccessRight.Delete     = false;
            this.pageAccessRight.AddUpdate  = false;
            this.pageAccessRight.View       = false;
            List <PageAccess> lstRights = (List <PageAccess>)ProjectSession.UserRoleRights;
            PageAccess        rights    = lstRights.Where(x => x.ActionName.ToLower() == actionName.ToLower()).FirstOrDefault();

            if (rights != null)
            {
                if (rights?.IsView ?? false)
                {
                    this.pageAccessRight.View = true;
                }

                if (rights?.IsAddUpdate ?? false)
                {
                    this.pageAccessRight.AddUpdate = true;
                }

                if (rights?.IsDelete ?? false)
                {
                    this.pageAccessRight.Delete = true;
                }
            }

            if (ProjectSession.UserId > 0 && ProjectSession.SuperAdmin)
            {
                this.pageAccessRight.AddUpdate = true;
                this.pageAccessRight.View      = true;
                this.pageAccessRight.Delete    = true;
            }
        }
Example #29
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         if (CurrMember == null)
         {
             RedirectToLogin();
         }
         else
         {
             string     cacheKey = string.Format("murl_{0}", CurrMember.MID);
             PageAccess paObj    = GetCache(cacheKey) as PageAccess;
             if (paObj != null && paObj.Url.Length > 0)
             {
                 hidViewState.Value = "./?" + paObj.Url.Split('?')[1];
             }
             else
             {
                 Response.Redirect("./?cmd=member_home");
             }
             //cookie session
         }
     }
 }
Example #30
0
        public ActionResult AddEditRole(string id)
        {
            Role model = new Role();

            model.Id = 0;

            if (!string.IsNullOrEmpty(id))
            {
                string decryptedVal = EncryptionDecryption.DecryptByTripleDES(id);
                if (decryptedVal != string.Empty)
                {
                    model.Id = decryptedVal.ToInteger();
                }
                else
                {
                    return(this.RedirectToAction(Actions.Role, Controllers.User));
                }
            }

            if (model.Id > 0)
            {
                model = this.userDataBL.GetRoleList(model).FirstOrDefault();
            }
            else
            {
                model.Active = true;
            }

            List <PageAccess> dbPageAccessList;

            dbPageAccessList = (List <PageAccess>) this.commonBL.GetPageAccessBasedOnUserRole(model.Id);
            List <Page> pageList = this.masterBL.GetPageList(new Page()
            {
                Active = SystemEnumList.ActiveStatus.Active.GetHashCode().ToBoolean()
            });
            var pageAccessList = new List <PageAccess>();

            foreach (var page in pageList)
            {
                PageAccess pageAccess   = new PageAccess();
                PageAccess pageAccessdb = dbPageAccessList?.Where(x => x.PageId == page.Id).FirstOrDefault();
                if (pageAccessdb != null)
                {
                    pageAccess          = pageAccessdb;
                    pageAccess.PageName = page.Name;
                }
                else
                {
                    pageAccess.PageName    = page.Name;
                    pageAccess.RoleId      = model.Id;
                    pageAccess.PageId      = page.Id;
                    pageAccess.CreatedBy   = ProjectSession.UserId;
                    pageAccess.CreatedDate = DateTime.Now;
                    pageAccess.IsView      = false;
                    pageAccess.IsAddUpdate = false;
                    pageAccess.IsDelete    = false;
                }

                pageAccessList.Add(pageAccess);
            }

            model.PageAccessList = pageAccessList;

            this.ViewData["CurrentPageAccessRight"] = this.PageAccessRight;
            return(this.View(model));
        }
Example #31
0
 public static extern IntPtr CreateFileMapping(IntPtr hFile, IntPtr lpAttributes, PageAccess flProtect, int dwMaximumSizeHigh, int dwMaximumSizeLow, string lpName);
Example #32
0
 private static extern IntPtr CreateFileMapping(
   IntPtr hFile,           // handle to file
   IntPtr lpAttributes,    // security
   PageAccess flProtect,   // protection
   int dwMaximumSizeHigh,  // high-order DWORD of size
   int dwMaximumSizeLow,   // low-order DWORD of size
   string lpName           // object name
   );