基于吉日嘎拉的通用权限管理Webform版老界面bug修复
虽然弄了新界面《基于吉日嘎底层架构的通用权限管理Web端UI更新:参考DTcms后台界面》,但老界面的一点菜单显示的问题还是让我这种强迫症揪心,终于今晚可以美美的睡觉了。
老代码用了Session来控制顶部的菜单和左侧的菜单,原BaseUserControl.Permission.cs代码如下
//#region protected List<BaseModuleEntity> ModuleList 获取模块数据表
///// <summary>
///// 获取模块数据表
///// </summary>
//public List<BaseModuleEntity> ModuleList
//{
// get
// {
// lock (BaseSystemInfo.UserLock)
// {
// // 判断是否有数据,若没数据自动读取一次
// if (HttpContext.Current.Session == null || HttpContext.Current.Session["UserModuleList"] == null)
// {
// // 这里进行了菜单优化,出错问题
// this.GetModuleList();
// }
// }
// return Utilities.GetFromSession("UserModuleList") as List<BaseModuleEntity>;
// }
// set
// {
// Utilities.AddSession("UserModuleList", value);
// }
//}
//#endregion //#region protected void GetModuleList() 获模块列表
///// <summary>
///// 获模块列表
///// </summary>
//protected void GetModuleList()
//{
// lock (BaseSystemInfo.UserLock)
// {
// if (HttpContext.Current.Session == null || HttpContext.Current.Session["UserModuleList"] == null)
// {
// // 这个是默认的系统表名称
// DotNetService dotNetService = new DotNetService();
// ModuleList = dotNetService.PermissionService.GetPermissionListByUser(this.UserInfo, BaseSystemInfo.SystemCode, this.UserInfo.Id, string.Empty, true);
// }
// }
//}
//#endregion #region protected List<BaseModuleEntity> ModuleList 获取模块数据表
/// <summary>
/// 获取模块数据表
/// </summary>
public List<BaseModuleEntity> ModuleList()
{
//return this.GetModuleList();
return Utilities.GetUserPermissionList(this.UserInfo, this.UserInfo.Id);
}
#endregion
现改为函数获取,统一使用Utilities.GetUserPermissionList中的Cache,抛弃Session。这样多个用户在同一台电脑切换登录的时候,顶部菜单和左侧菜单的显示就啥问题也没有了。
#region protected List<BaseModuleEntity> ModuleList 获取模块数据表
/// <summary>
/// 获取模块数据表
/// </summary>
public List<BaseModuleEntity> ModuleList()
{
//return this.GetModuleList();
return Utilities.GetUserPermissionList(this.UserInfo, this.UserInfo.Id);
}
#endregion
昨天程序员节日,没顾上发表意见,今天补充一下:
1、作为程序员,扎实的英文基础还是很重要的,希望这是吉日嘎拉的手误。
2、用户用得爽,操作步骤少,速度快,记录准,操作灵活,省时省力,老板节约成本、提交效率、钱赚的更多,管你用啥高深技术还是最新的技术!
基于吉日嘎拉的通用权限管理Webform版老界面bug修复的更多相关文章
- 基于吉日嘎拉的通用权限管理WebForm版扩展:字典选项管理和缓存管理
关于字典管理,其实就是2个表,一个表记录字典和对应表,另一个表记录字典内容.我这里改名为字典选项,其实是一个意思.直接上图: 这里的字典选项是分子系统的,每个子系统可以有自己的单独字典,方便管理.但是 ...
- 基于吉日嘎底层架构的通用权限管理Web端UI更新:参考DTcms后台界面
经一周的研究学习,看了国内的H+.HUI等,国外的PaperDashboardPro.Make.Metronic BootStrap等,最终选定用一个轻量的,适合中国人的,来自DTcms的后台管理UI ...
- 基于RBAC设计的通用权限管理框架
RoadFlow拥有基于RBAC设计的通用权限管理框架.不仅可以基于角色组进行菜单授权,还可以根据组织架构中部门.岗位.人员等进行细分的权限管理分配. 如果一个人有重复菜单权限,则将自动合并. 系统资 ...
- [转]Asp.Net大型项目实践(11)-基于MVC Action粒度的权限管理【续】【源码在这里】(在线demo,全部源码)
本文转自:http://www.cnblogs.com/legendxian/archive/2010/01/25/1655551.html 接上篇Asp.Net大型项目实践(10)-基于MVC Ac ...
- winform快速开发平台 -> 通用权限管理之动态菜单
这几个月一直忙APP的项目,没来得及更新项目,想想该抽出时间整理一下开发思路,跟大家分享,同时也希望得到宝贵的建议. 先说一下我们的权限管理的的设计思路,首先一个企业信息化管理系统一定会用到权限管理, ...
- 【原创】C#通用权限管理-程序安全检查,这些你一定要考虑到位
接触通用权限已经一年,现在使用已经很熟练,分享通用权限管理下面的一些好的开发思想. 安全漏洞对于一个小项目来说,可能不是特别的重视,对于一个大项目来说,这是特别重要需要注意的,特别是在项目开发中的就要 ...
- EASYUI+MVC4通用权限管理平台--前言
经过多年的管理信息系统的开发工作,吸取了工作中遇到的一些问题,经过自己的总结,形成了一套比较完整的管理信息系统的通用权限管理基础开发平台. 在软件的开发过程中我们首先需要解决的是UI问题,其次是浏览器 ...
- EASYUI+MVC4通用权限管理平台
通用权限案例平台在经过几年的实际项目使用,并取得了不错的用户好评.在平台开发完成后,特抽空总结一下平台知识,请各位在以后的时间里,关注博客的更新. 1.EASYUI+MVC4通用权限管理平台--前言 ...
- C#通用权限管理-程序安全检查,这些你一定要考虑到位
接触通用权限已经一年,现在使用已经很熟练,分享通用权限管理下面的一些好的开发思想. 安全漏洞对于一个小项目来说,可能不是特别的重视,对于一个大项目来说,这是特别重要需要注意的,特别是在项目开发中的就要 ...
随机推荐
- Excel快速改变行列的次序
改变行列次序是在Excel中常常需要进行的操作,多数用户的方法是先剪切要调整的行或列,然后选定目标位置,单击菜单“插入”→“剪切单元格”. 事实上,使用键盘来配合的话,改变行列的次序可以更快捷.比 ...
- Atian inputmethod 输入法解决方案 方言与多语言多文字支持 英语汉字汉语阿拉伯文的支持 (au
Atian inputmethod 输入法解决方案 方言与多语言多文字支持 英语汉字汉语阿拉伯文的支持 (au 1.1. Overview概论 支持母语优先的战略性产品,主要是针对不想以及不愿使用普通 ...
- rabbitmq消息队列——"路由"
在之前的教程中,我们创建了一个简单的日志系统.我们能够向许多交换器转发日志消息. 在本教程中,我们将添加一个功能--我们让它仅仅接收我们感兴趣的日志类别.举例:我们 实现仅将严重级别的错误日志写入磁盘 ...
- Dapper sql in
应用场景: 使用 sql的 Case When Then 批量更新某张表,底层数据库用到了Dapper 代码示例: public int UpdateClientReceivedResult(Dict ...
- loadrunner协议选择
协议选择参考: 应用类型 协议选择 web网站 http/HTML FTP服务器 FTP 邮件服务器 IMAP\POP3\SMTP CS:客户端以ADO,OLEDB方法连接后台数据库 MS SQLSe ...
- 开源项目IPProxys的使用
前几天看了一下github上,IPProxys开源项目(https://github.com/qiyeboy/IPProxys)快100star了,看来大家对这个项目还是比较感兴趣的.最近一直没更新文 ...
- Java 集合 — HashMap
HashMap 无序(每次resize的时候都会变) 非线程安全 key和value都看可以为null 使用数组和链表实现 查找元素的时候速度快 几个重要属性: loadFactor:用来计算thre ...
- java中Object.equals()简单用法
/* equals()方法默认的比较两个对象的引用! */ class Child { int num; public Child(int x){ num = x; } //人文的抛出运行时异常的好处 ...
- Pillow实现图片对比
在编写Web自动化测试用例的时候,如何写断言使新手不解,严格意义上来讲,没有断言的自动化脚本不能叫测试用例.就像功能测试一样,当测试人员做了一些操作之后必然会判断实际结果是否等于预期结果,只不过,这个 ...
- RobotFramework - 在Window7系统中安装本地RobotFrmamework自动化测试环境
RIDE Installation 安装顺序:Python ---> setuptools & pip ---> Robot Framewok ---> wxPython(v ...