![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
架构设计
文章平均质量分 85
software_artisan
使用新技术,解决旧问题。
展开
-
通用权限设计
1 引言权限,可分为“功能(操作)权限”和数据权限两种,在系统中,两种权限应当同时有效。例如,在windows系统中,某用户具有新建一个文件的功能权限,该用户在C盘没有写权限,但在D盘有写权限;则该用户不能把他创建的文件保存在C盘而只能保存在D盘。在上述例子中,能否创建文件是由功能权限来控制的,能否保存文件是由数据权限进行控制的。只有两者同时有效,用户的业务才能顺利进行。1.原创 2012-07-23 13:19:31 · 2190 阅读 · 0 评论 -
通用数据查询分析器设计
1 定义数据查询分析器的目标,是提供用户可自定义的、多维度的观察和分析目标数据的工具。实现用户对业务数据进行动态查询、分组、筛选、汇总的需求。数据查询分析器,实际上是一个简化版本的BI应用。所以,他也需要定义ETL(数据的抽取-转换-装载)过程。在这里,我们设计为通过数据模型文件来定义这一过程,用户可以通过选择不同的数据模型来加载所需要观察的数据,然后通过模型中定义的切片方向(观察维原创 2012-07-23 13:16:07 · 1226 阅读 · 0 评论 -
浅谈数据权限的实现方法和作用机制
在企业开发中,往往对权限的控制有较高的要求,其中也经常会被要求实现对业务数据操作进行权限控制。在这里,分享一下本人在企业开发中的数据权限的实现经验。本文所用的方法和实例,可在CSDN的代码托管平台找到。需要的童鞋可点击:https://code.csdn.net/xuanbg/starx-bip自行查看或下载。要想管理数据权限,首先得定义数据的归属和用户对数据的访问范围,和功能权限相比,这一点原创 2014-03-07 13:03:22 · 6638 阅读 · 2 评论 -
一个软件系统的架构到底应该包含些什么?
从事企业信息化系统开发已经3年,回顾这3年原创 2014-07-10 17:26:47 · 4006 阅读 · 0 评论 -
功能权限和数据权限管理的实现
1 引言权限,可分为“功能(操作)权限”和数据权限两种,在系统中,两种权限应当同时有效。例如,在windows系统中,某用户具有新建一个文件的功能权限,该用户在C盘没有写权限,但在D盘有写权限;则该用户不能把他创建的文件保存在C盘而只能保存在D盘。在上述例子中,能否创建文件是由功能权限来控制的,能否保存文件是由数据权限进行控制的。只有两者同时有效,用户的业务才能顺利进行。简单原创 2014-04-09 18:00:35 · 35714 阅读 · 2 评论 -
改进版本的精确数据权限定义和实现
由于工程实现上的某些小问题,为了达到方便实现如图效果,对数据结构做了一点点的调整。新的数据结构如下图:第一个图片的数据源视图:IF EXISTS (SELECT * FROM sysobjects WHERE id = OBJECT_ID(N'RoleDataPermit') AND OBJECTPROPERTY(id, N'ISVIEW') = 1)DROP VIE原创 2014-10-25 21:29:44 · 2144 阅读 · 0 评论 -
RBAC权限模型及数据权限扩展的实践
话说大家对RBAC权限模型应该是耳熟能详了,但真正用的好的并不多。而且原始的RBAC模型并不包含数据权限的管理,网上也几乎没有相关的文章可以参考。本人经过几个项目的实战,在其基础上扩展出一套可行的、简单的数据权限模型,希望能够帮助大家解决数据权限管理上的老大难问题。至于什么是数据权限,请移步我的其他文章,这里不再敷述。1、关于角色的继承:在上图描述的模型中,并没有实现角色的继承。既原创 2014-11-12 12:53:09 · 5991 阅读 · 1 评论 -
位图算法在用户验证上的应用
前几天在博客园看到一个帖子,讨论两个整数集合比较的算法问题。呵呵,其实任何整数集合的问题都是可以通过位图算法解决。简单地说,就是把值转化为数组下标,将O(n)复杂度降低到O(1)复杂度来获得最高效率。当然,会牺牲一点点空间。解决单纯的整数集合比较问题,只是纯理论的。实际上,位图算法可以应用在用户登录之后的接口验证上。服务端的设计其实也没什么复杂的地方,就是维护一个数组罢了。只不过这个数组并非是原创 2015-05-23 19:23:26 · 1541 阅读 · 0 评论 -
用MVC做WinForm客户端
昨天突然脑洞大开,觉得WinForm客户端也可以做成MVC!想到就做!于是把以前做的一个WinForm工程拉出来,选了角色权限模块先试个水。第一步:调整项目结构,调整后结构如下图:第二步:拆分逻辑原来整个窗体类里面包含了很多业务逻辑,这部分不用说,直接拆分到Controller里面,还有工具栏点击事件的处理逻辑,也同样分离出来放到Controller里面。拆分之后,窗体类就变成了一原创 2016-03-22 15:08:47 · 10072 阅读 · 3 评论