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)); }
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); } }