另外在实用的mis中往往还需要一个“临时授权”类型,用户可以在某段时间内将自己的某个用户指派中的权力授予其它人。系统在这个阶段内维护这个授权,过期自动结束。用户指派不仅仅用于控制操作的权限,也可以用于任何消息传递时指定消息接收人。

解决方案 »

  1.   

    说明一下:我在6.中的意思是,用户指派除了群组和单人指派以外,根据不同的应用系统还要扩展许多不同的子类型,当然也可能有许多操作界面。每一种指派都从2.的父类定义中继承了接口“合同”,它要能够判断一个用户是否在这个指派对象中,或许还能返回所有在这个指派中的所有(IEnumerable<用户>)用户。
      

  2.   

    http://www.cnblogs.com/Roping/archive/2007/02/13/649161.html
    这个项目采用分层的方式进行组织开发,但是分层不够彻底!看他的项目组织方式可以看出他是WEB表示层(WEB)和应用层(core)两层的,Core这个工程其实应该再分不同工程,以便在部署的时候,可以对不同的DLL进行引用!1.   DTO这个文件夹单分出来,作为不同层(物理也好。,罗辑也好)的传输对象,独立于不同的项目文件,最好让每个DTO对象继承一个抽象类,这样在做多态,注入,WBS等进行反射的时候可以节省很多代码(可以这里没有这样做)!2.   Domain这层是NHibernate的域模型层!主要采用hbm配置文件的方式实现对象的数据库映射关联!注意hbm文件采用潜入式资源的方式进行编译!这层代码基本上可以不用手写,呵呵,包括上面介绍的DTO也用手写,大家可以采用CodeSmith等工具进行生成,NHibernate本身也提供这样的工具NHibernate.Tool.hbm2net,我个人喜欢MyGeneration!3.   Service,这层就是我们通常讲的业务逻辑层,对于对象的CRUD操作都是在这层进行逻辑验证分类等,这里面的逻辑一般集中在业务领域逻辑,设计到数据层业务逻辑象数据表级联删除更新等逻辑在Domain配置文件已经做好,字段长度格式等验证我们已经在WEB做了验证!这个也符合我们通常做法!4.   NHHelper,这层是我们通常说说的数据访问层,对NB提供的对象持久化功能进行封装,实现对不同数据库的透明支持!同时也实现对NH中数据访问对象的Cache策略!5.   Util,这个项目镇的应该单独分出来,看项目名字你就知道了,提供常用的功能类!
    这个项目我把它改写了下,引用最新的NHibernate的版本号是1.2.0.2003!
    下载:点击
    PS:解压缩后去掉后缀名Ropin然后再解压缩!