在DotNetNuke中加入组织架构(一)
稍微解释一下:我希望用DotNetNuke不但可以做Internet的东西,而且也可以做Intranet的业 务;从目前的情况来看,一般来说,Intranet的业务逻辑可能比Internet的业务逻辑要稍微复杂一点——当然,这并不是确定的事情。在这方面做 了一些探索,希望将之分享出来。
对于DotNetNuke来说,已经有了“安全角色”,“安全角色”在DotNetNuke中非常重要,是用来控制页面和模块权限非常重要的概念,在我们的系统中,安全角色和权限,形成了一个权限矩阵,通过这个矩阵,我们可以方便的控制权限。
(通过安全角色,我们扩展了模块的权限,从而使权限更加丰富)
安全角色,对我来说,理解为更高级别的用户分组,这种分组,是为了更好的控制系统级的权限的。但是,对于我们一般的 Intranet应用,比如一个内部办公系统来说,只有这种分组还是不够的,必须要有一个组织架构的概念,所以,下面这几章,我们将来讲解一下,如何通过 DotNetNuke来增加一个组织架构。
组织架构,一方面是用来将人员进行更有效的分组,另一方面,也是为了进行数据级的控制(而不是页面级和模块级)。
下图就是一个组织架构的例子:
对于我来说,引入组织架构,是为了在进行业务审批的流转的时候,可以更方便,比如,可以出现如下图的流转界面:
如果在上图中,下拉列表中出现的不是一个这样的组织架构,而是DotNetNuke的安全角色的话……,我个人觉得会非常混乱,而且,系统级的权限,和数据级的权限混合在一起,使整个系统非常混乱,我不喜欢。
关于这个组织架构的模块,我一度想将之做成单独的模块(也就是DotNetNuke4.8.X版本之后,在安装某个模 块的时候,可以检测另一个模块是否存在,以及版本是否正确,如果不存在依赖的模块的话,则新模块可以不允许安装),可是,最终,我还是将之打包成了一个统 一的模块。我个人并不喜欢这样,如果有时间的话,我仍然会将之独立拆分出来,作为一个独立的模块;或者,如果可能的话,作为网站管理下面的一个管理模块, 这样,才更正规一些。
下面的章节,我们来介绍,如何在DotNetNuke框架下将这个模块实现出来。