Example #1
0
        public ActionResult SavePermission(string dataText, string UserType)
        {
            PermissionSaveViewModel viewModel = CommonUtils.JSONToObject <PermissionSaveViewModel>(dataText);
            MessageViewModel        msg       = new MessageViewModel();

            msg.MessageType = ApplicationMessageType.Error;
            msg.IsError     = 1;
            try
            {
                List <ScreenPermissionListTreeResult> lPermission = new List <ScreenPermissionListTreeResult>();
                foreach (var item in viewModel.PermissionList)
                {
                    ScreenPermissionListTreeResult entity = item.ToEntity2();
                    entity.PermissionList = new List <ScreenPermissionListTreeResult>();
                    foreach (var permission in item.Items)
                    {
                        entity.PermissionList.Add(permission.ToEntity2());
                    }
                    lPermission.Add(entity);
                }


                SecurityService.SavePermission(viewModel.UserID, UserType, lPermission, UserDetail.UserID);
                SECApplicationContext.ClearSecurityPermissionCache(viewModel.UserID);
                msg.Message     = MessageListResource.I0007;
                msg.MessageType = ApplicationMessageType.Success;
                msg.IsError     = 0;
            }
            catch (Exception ex)
            {
                msg.Message = ex.Message;
            }
            return(Content(JsonConvert.SerializeObject(msg), ConstantValues.JSON_CONTENT_TYPE));
        }
Example #2
0
        public virtual bool HasPermission(AuthorizationContext filterContext)
        {
            string UserID = filterContext.RequestContext.HttpContext.User.Identity.Name;

            if (SECApplicationContext.SecurityContext.IsExpired(UserID))
            {
                List <ScreenPermissionListResult> lScreenPermission = SecurityService.GetPermissions(UserID);
                List <PermissionRecord>           permissions       = new List <PermissionRecord>();
                //foreach (var permission in lScreenPermission.Where(d=> d.IsChecked ?? false))
                foreach (var permission in lScreenPermission)
                {
                    //permissions.Add(new PermissionRecord() { ObjectId = permission.ScreenCode, PermissionCode = permission.PermissionCode, IsChecked = (permission.IsChecked ?? false) });
                    permissions.Add(new PermissionRecord()
                    {
                        ObjectId = permission.ScreenCode, PermissionCode = permission.PermissionCode
                    });
                }
                SECApplicationContext.InitializeAuthorize(UserID, permissions);
            }
            return(SECApplicationContext.SecurityContext.IsUserAuthorize(UserID, this.ObjectId, this.PermissionName));;
        }
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            if (filterContext.HttpContext.Request.IsAjaxRequest())
            {
                return;
            }
            string UserID = filterContext.RequestContext.HttpContext.User.Identity.Name;

            if (SECApplicationContext.SecurityContext.IsExpired(UserID))
            {
                List <ScreenPermissionListResult> lScreenPermission = SecurityService.GetPermissions(UserID);
                List <PermissionRecord>           permissions       = new List <PermissionRecord>();
                //foreach (var permission in lScreenPermission.Where(d => d.IsChecked ?? false))
                foreach (var permission in lScreenPermission)
                {
                    //permissions.Add(new PermissionRecord() { ObjectId = permission.ScreenCode, PermissionCode = permission.PermissionCode, IsChecked = (permission.IsChecked ?? false) });
                    permissions.Add(new PermissionRecord()
                    {
                        ObjectId = permission.ScreenCode, PermissionCode = permission.PermissionCode
                    });
                }
                SECApplicationContext.InitializeAuthorize(UserID, permissions);
            }
        }