public JsonResult GetListP() { TransactionalInformation transaction; //SysRightInquiryViewModel sysRightInquiryViewModel = new SysRightInquiryViewModel(); var account = Session["Account"] as Account; //string accountId = "admin"; string controller = "SysSample"; SysRightApplicationService sysRightApplicationService = new SysRightApplicationService(sysRightDataService); List <Permission> permissions = sysRightApplicationService.GetPermissions(account.Id, controller, out transaction); //SysRightApplicationService sysSampleApplicationService = new SysRightApplicationService(sysSampleDataService); //List<SysRightInquiry> sysSamples = sysSampleApplicationService.GetSysRightInquiry(queryStr, paging, out transaction); //if (id != string.Empty) //{ //sysRightInquiryViewModel.PermissionLists = permissions; //sysRightInquiryViewModel.ReturnStatus = transaction.ReturnStatus; //sysRightInquiryViewModel.ReturnMessage = transaction.ReturnMessage; //sysSampleInquiryViewModel.TotalPages = paging.TotalPages; //sysSampleInquiryViewModel.TotalRows = paging.TotalRows; //sysSampleInquiryViewModel.PageSize = paging.PageSize; //var json = permissionInquiryViewModel.TotalRows; var json = new { //total = paging.TotalRows, rows = (from r in permissions select new Permission() { //Id = r.Id, //Name = r.Name, KeyCode = r.KeyCode, IsValid = r.IsValid }).ToArray() }; return(Json(json, JsonRequestBehavior.AllowGet)); }
public bool ValiddatePermission(Account account, string controller, string action, string filePath) { bool bResult = false; string actionName = string.IsNullOrEmpty(ActionName) ? action : ActionName; if (account != null) { List <Permission> perm = null; //测试当前controller是否已赋权限值,如果没有从 //如果存在区域,Seesion保存(区域+控制器) if (!string.IsNullOrEmpty(Area)) { controller = Area + "/" + controller; } perm = (List <Permission>)HttpContext.Current.Session[filePath]; if (perm == null) { TransactionalInformation transaction; SysRightApplicationService sysRightApplicationService = new SysRightApplicationService(new AdoSysRightService()); perm = sysRightApplicationService.GetPermissions(account.Id, controller, out transaction); //获取当前用户的权限列表 HttpContext.Current.Session[filePath] = perm; //获取的权限列表放入会话由Controller调用 //using (SysUserBLL userBLL = new SysUserBLL() //{ // sysRightRepository = new SysRightRepository() //}) //{ // perm = userBLL.GetPermission(account.Id, controller);//获取当前用户的权限列表 // HttpContext.Current.Session[filePath] = perm;//获取的劝降放入会话由Controller调用 //} } //当用户访问index时,只要权限>0就可以访问 if (actionName.ToLower() == "index") { if (perm.Count > 0) { return(true); } } //查询当前Action 是否有操作权限,大于0表示有,否则没有 int count = perm.Where(a => a.KeyCode.ToLower() == actionName.ToLower()).Count(); if (count > 0) { bResult = true; HttpContext.Current.Response.Write("你没有操作权限xxx,请联系管理员!"); } else { bResult = false; HttpContext.Current.Response.Write("你没有操作权限,请联系管理员!"); } } return(bResult); }