虽然弄了新界面《基于吉日嘎底层架构的通用权限管理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修复的更多相关文章

  1. 基于吉日嘎拉的通用权限管理WebForm版扩展:字典选项管理和缓存管理

    关于字典管理,其实就是2个表,一个表记录字典和对应表,另一个表记录字典内容.我这里改名为字典选项,其实是一个意思.直接上图: 这里的字典选项是分子系统的,每个子系统可以有自己的单独字典,方便管理.但是 ...

  2. 基于吉日嘎底层架构的通用权限管理Web端UI更新:参考DTcms后台界面

    经一周的研究学习,看了国内的H+.HUI等,国外的PaperDashboardPro.Make.Metronic BootStrap等,最终选定用一个轻量的,适合中国人的,来自DTcms的后台管理UI ...

  3. 基于RBAC设计的通用权限管理框架

    RoadFlow拥有基于RBAC设计的通用权限管理框架.不仅可以基于角色组进行菜单授权,还可以根据组织架构中部门.岗位.人员等进行细分的权限管理分配. 如果一个人有重复菜单权限,则将自动合并. 系统资 ...

  4. [转]Asp.Net大型项目实践(11)-基于MVC Action粒度的权限管理【续】【源码在这里】(在线demo,全部源码)

    本文转自:http://www.cnblogs.com/legendxian/archive/2010/01/25/1655551.html 接上篇Asp.Net大型项目实践(10)-基于MVC Ac ...

  5. winform快速开发平台 -> 通用权限管理之动态菜单

    这几个月一直忙APP的项目,没来得及更新项目,想想该抽出时间整理一下开发思路,跟大家分享,同时也希望得到宝贵的建议. 先说一下我们的权限管理的的设计思路,首先一个企业信息化管理系统一定会用到权限管理, ...

  6. 【原创】C#通用权限管理-程序安全检查,这些你一定要考虑到位

    接触通用权限已经一年,现在使用已经很熟练,分享通用权限管理下面的一些好的开发思想. 安全漏洞对于一个小项目来说,可能不是特别的重视,对于一个大项目来说,这是特别重要需要注意的,特别是在项目开发中的就要 ...

  7. EASYUI+MVC4通用权限管理平台--前言

    经过多年的管理信息系统的开发工作,吸取了工作中遇到的一些问题,经过自己的总结,形成了一套比较完整的管理信息系统的通用权限管理基础开发平台. 在软件的开发过程中我们首先需要解决的是UI问题,其次是浏览器 ...

  8. EASYUI+MVC4通用权限管理平台

    通用权限案例平台在经过几年的实际项目使用,并取得了不错的用户好评.在平台开发完成后,特抽空总结一下平台知识,请各位在以后的时间里,关注博客的更新. 1.EASYUI+MVC4通用权限管理平台--前言 ...

  9. C#通用权限管理-程序安全检查,这些你一定要考虑到位

    接触通用权限已经一年,现在使用已经很熟练,分享通用权限管理下面的一些好的开发思想. 安全漏洞对于一个小项目来说,可能不是特别的重视,对于一个大项目来说,这是特别重要需要注意的,特别是在项目开发中的就要 ...

随机推荐

  1. as3commons-bytecode 获取所有类的一个BUG

    下载了这个swc,号称可以反射出所有加载的类.已经用在了spring. 可是一运行就报错,说bytearray.uncompress出错.操. 下载整个源码,单独加载as3commons-byteco ...

  2. Windows Azure Virtual Machine (25) 使用SSH登录Azure Linux虚拟机

    <Windows Azure Platform 系列文章目录> 本文介绍内容适合于Azure Global和Azure China 为什么使用SSH登录Azure Linux虚拟机? 我们 ...

  3. Java框架介绍-13个不容错过的框架项目

    本文转自互联网,个人收藏所用. 下面,我们将一同分享各有趣且颇为实用的Java库,大家请任取所需.不用客气~ 1.极致精简的Java Bootique是一项用于构建无容器可运行Java应用的极简技术. ...

  4. IOS UIView 01-View开始深入 绘制像素到屏幕上

    注:本人是翻译过来,并且加上本人的一点见解. 前言 一个像素是如何绘制到屏幕上去的?有很多种方式将一些东西映射到显示屏上,他们需要调用不同的框架.许多功能和方法的结合体.这里我们大概的看一下屏幕之后发 ...

  5. 关于Java中null的十点详解

    对于每一个Java程序员来说,null肯定是一个让人头痛的东西,连Java的发明者都承认这是一项巨大的设计失误,今天就来总结一下Java中关于null的知识. 1.null不属于任何类型,可以被转换成 ...

  6. PHP数据库操作:从MySQL原生API到PDO

    本文将举详细例子向大家展示PHP是如何使用MySQL原生API.MySQLi面向过程.MySQLi面向对象.PDO操作MySQL数据库的. 为了后面的测试,先建立数据库表test.包含表名user,s ...

  7. 题目一:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。

  8. 《Node.js实战(双色)》作者之一——吴中骅访谈录

  9. Python基础语法

    学习一门编程语言,通常是学习该语言的以下几个部分的内容: 基础语法:如,变量的声明与调用.基本输出语句.代码块语法.注释等: 数据类型:通常都为 数字.字符串.布尔值.数组.链表.Map.Set等: ...

  10. PC端和移动端地址适配

    判断当前页面的打开方式是pc还是移动设备,如果是移动设备,跳转到对应移到端网站的方法: 方法一.还是用@media screen 思路:css使用媒体查询,当屏幕小于760px时,使某个元素的样式发生 ...