在DotNetNuke中加入组织架构(一)


稍微解释一下:我希望用DotNetNuke不但可以做Internet的东西,而且也可以做Intranet的业务;从目前的情况来看,一般来说,Intranet的业务逻辑可能比Internet的业务逻辑要稍微复杂一点——当然,这并不是确定的事情。在这方面做了一些探索,希望将之分享出来。

  对于DotNetNuke来说,已经有了“安全角色”,“安全角色”在DotNetNuke中非常重要,是用来控制页面和模块权限非常重要的概念,在我们的系统中,安全角色和权限,形成了一个权限矩阵,通过这个矩阵,我们可以方便的控制权限。

  (通过安全角色,我们扩展了模块的权限,从而使权限更加丰富)

  当然,由于Administrators这个组对所有的权限都有默认允许的,所以有的时候会给我们带来一点困惑,不过,和这种方式给我们带来的好处相比,困惑是微不足道的。

  安全角色,对我来说,理解为更高级别的用户分组,这种分组,是为了更好的控制系统级的权限的。但是,对于我们一般的 Intranet应用,比如一个内部办公系统来说,只有这种分组还是不够的,必须要有一个组织架构的概念,所以,下面这几章,我们将来讲解一下,如何通过 DotNetNuke来增加一个组织架构。

  组织架构,一方面是用来将人员进行更有效的分组,另一方面,也是为了进行数据级的控制(而不是页面级和模块级)。

  下图就是一个组织架构的例子:

  其实,基本上只要是做过Intranet应用的朋友,应该都会接触过组织架构,我们这里的组织架构,相对来说,也是最传统的组织架构:无限分级、支持部门、组别、可以排序、可以进行人员调整等等。无非是将我们一而贯之的组织架构引入到DotNetNuke中而已,除此之外,别无新鲜。

  对于我来说,引入组织架构,是为了在进行业务审批的流转的时候,可以更方便,比如,可以出现如下图的流转界面:

  如果在上图中,下拉列表中出现的不是一个这样的组织架构,而是DotNetNuke的安全角色的话……,我个人觉得会非常混乱,而且,系统级的权限,和数据级的权限混合在一起,使整个系统非常混乱,我不喜欢。

  关于这个组织架构的模块,我一度想将之做成单独的模块(也就是DotNetNuke4.8.X版本之后,在安装某个模块的时候,可以检测另一个模块是否存在,以及版本是否正确,如果不存在依赖的模块的话,则新模块可以不允许安装),可是,最终,我还是将之打包成了一个统一的模块。我个人并不喜欢这样,如果有时间的话,我仍然会将之独立拆分出来,作为一个独立的模块;或者,如果可能的话,作为网站管理下面的一个管理模块,这样,才更正规一些。

  下面的章节,我们来介绍,如何在DotNetNuke框架下将这个模块实现出来


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3