权限管理、用户权限系统、开源用户权限系统、信息化建设标准基础数据管理平台
代码改变世界

(03)权限配置管理

2008-06-23 21:26  通用C#系统架构  阅读(8293)  评论(10编辑  收藏  举报
做一个软件很容易,但是能做好不容易,能坚持不懈,更不容易,这是我安慰自己的理念。
我们不要带头制造电子垃圾,做一个是一个是我追求的目标,先看一个后台权限配置管理界面效果吧。
 
哪个区域有什么功能,我就不罗嗦了。

权限范围:
   例如,1。你是财务主管,你可能可以管理整个公司及分公司的财务数据、财务业务。
   但是你没有权利管理整个公司及分公司的人事数据、人事业务。
   2。也没有必要对所有的权限都设置权限范围,那设置的人要累死了,写程序也可能烦死了。
   3。若需要业务领域划分及数据级的权限设置,要设置权限范围,大部分情况下对模块设置权限就可以了。

注意事项:
   1。编号不能重复,因为判断权限前台是通过编号来判断权限的。
   2。不能批量编辑,使用起来会很不方便,所以黄色区域为可批量编辑区域。
   3。列表及表格中的数据,应该能灵活排序,可以按用户的需要进行排序,这也绝对前台配置时权限时的排序顺序。
   4。可以批量删除,批量移动,树型结构能进行拖动,这样维护规划权限时都会比较得心应手。
   5。当然在开发阶段可以给多个开发人员添加删除修改的权限,将已经确定下来的权限可以通过Administrator设置为
       不可编辑,不可修改,这样防止其他开发人员不小心修改或不小心给你删除了,特别是测试人员,把你辛苦设置的
       权限数据给删除了,你会痛苦得吃不下饭

   6。当然你可以把权限配置管理模块也可以细分很多明细的权限,但是我个人认为若那样就是过渡设计了,没多大必要,
       这个功能模块本来就是给后台配置管理员及开发人员用的,不应该给最终客户用的。
   7。当然想做一个产品,必须要支持多语言功能,应该能有简体中文版、繁体中文版、英文版、日本版等。
   8。删除节点时,若有子节点,应该先删除子节点,然后才能删除父节点,这只是一个删除策略。
   9。修改页面上的数据后,未保存关闭表单,应该提醒是否保存数据,否则人家不是白修改了?
 10。若权限进行了细分,没有权限的按钮应该变成灰色的。
 11。若没有数据可排序,相应的排序按钮应该变成灰色的。
 12。若应用程序从 MDI 主页面统一排序控制,那此页面上的排序可以隐藏并且,依据页面的相应权限控制 MDI主页面的排序按钮。
 13。用户应该适当通过标准接口定义,控制此页面,为 MDI主页 调用提供接口。
 14。此页面应该能在 Local本地模式运行 Remoting 远程模式运行 WebService 模式运行下都正常。
 15。按钮的大小,布局应该满足统一的风格,我最不喜欢页面布局乱八七糟的页面,连按钮都对不起的,我就想吐。
 16。平常我们开发程序的人脑海里马上会想到把权限例如划分为:
Access 访问权限、Add 新增权限、Edit 编辑权限、View 浏览权限、
Delete 删除权限、Search 查询权限、Import 导入权限、Export 导出权限、
Print 打印权限、Auditing 审核权限、Admin 管理权限、Config 配置权限、
UpLoad 上传权限、DownLoad 下载权限

但是你无论固定划分几个权限,都是无法满足实际应用的权限划分,实际应用中会有N多跟业务相关的权限、打个比方
还有申请采购、盘点、驳回订单、客户管理等等N多权限,你也不大可能说,要预留2个权限自定义权限搞定,那是办不
到的,除非业务逻辑超级简单、软件规模小或者权限要求不复杂,所以权限设置就应该是自由设定的,想怎么划分就怎么
划分,是开发人员按照实际项目需要进行灵活配置。应该从业务的需要定位权限划分,假如你第一步就做错了,那我是
不大认可固定划分权限的设计方式。
 17。把权限设置,定义成数型结构的,相应的写程序的量会增加4倍以上吧,我以前是一个列表型的,但是实际应用中
列表型的权限非常不好用,进行设置时,需要用户点很多次。用户是不管你开发的量大,还是开发的复杂度高,用户追求
的目标是好用。
  
软件是否好用怎么衡量?
  其实很简单,我认为:
  1。是否经常有Bug出来,别经不起折腾,操作几下就挂掉了,就算挂掉了,也别把整个程序给挂掉,那太没面子了。
  2。自己从头操作一下看看,把数据都清除掉,然后从头输入一次看看,是否很好用?可能你发现连自己操作都受不了,要跳楼了。
  3。给别人讲解一下,给别人演示看看,是否能顺畅的跑一圈,很多时候,能发现自己犯了很多错误。
  4。让测试人员用用看看,让你的同事用用看看,估计很多问题都暴露出来了。
  5。换一个环境,在别人的电脑上,另一个版本的Windows,分辨率的电脑上用用看,是否好用?你也可能会发现一大堆问题。
  6。让最终客户用用看,是否好用?会发现很多点点滴滴,这里需要改进那里改进。
  7。过个1年半栽再用用看,是否好用?别忘记了,这是你的孩子,你要经常去改进、维护、与时俱进,孩子有一天会长大成才的。

目前美中不足的有:
   1。树型结构的拖动功能,没有windows资源管理器那么好用,当数据超过1个屏幕时,拖动节点时不方便,屏幕不会
自动滚动,若谁知道如何改进,我愿意支付辛苦费。
   2。还未做好打印导出功能,导入功能,我觉得一个比较好的软件,应该能支持导入导出功能,当然打印功能是必不可少的。
   3。还没有彻底多语言化,只是用英文版和繁体中文版进行了测试。
   4。精力有限,B/S 前台还在开发中。


C# ASP.NET 通用权限设计、通用权限管理、通用权限组件、单点登录、集中式权限管理、统一授权体系、分级管理分级授权


微信扫一扫加好友