一、权限基本结构

邮箱系统后台针对不同管理员会有不同的管理权限,在下图中,系统根据管理操作范围和管理对象范围这两个维度对整个邮箱后台的具体操作权限进行划分。

 

 

管理操作范围是指管理员可以做哪些操作即只允许执行哪些功能。

 

管理对象范围是指管理员在允许执行的功能中,可以操作哪些对象。比如部门管理员可以执行删除邮箱功能,但他管理范围只限于本部门内,即只可以删除自己部门下的邮箱。这种情况下,这个部门管理员针对邮箱的管理对象范围就是自己的部门内。

 

 

后台管理界面1.0

 

 

后台管理界面2.0

 

 

本系统是通过部门来组织管理对象,在上图管理员编辑界面中,对某管理员进行权限设置,管理部门就是对管理对象范围进行设置,授权操作就是对管理操作范围进行约束。

 

 

二、管理对象范围的具体说明

 

1.部门与子部门

部门是对象范围的基本单位。在此系统中,部门间支持树形结构,即部门中可以有子部门,下图展现了各个部门之间的逻辑关系:

 

 

在上图中,技术部门下有前端部门和后端部门两个子部门,后端部门又有Python子部门。

 

a).域管理员:在邮箱开通后,会自动生成一个域管理员(admin@example.com),这个域管理员可以管理所有对象,即上图中所有部门,他的管理对象范围是所有。

 

b).部门管理员:部门管理员被域管理员所创建。部门管理员只能管理当前部门,也能管理当前部门的下级部门。在上图中,技术部门管理员可以管理技术部门中的对象(邮箱、邮件组等),也能管理后端部门和Python部门中的对象。

 

 

2.部门中的对象

 

部门管理员可以管理此部门下所有对象。下图列出了所有归属在部门下的对象。

 

 

部门下有邮箱、邮件组、收发频率策略和邮件审核策略。在上图技术部门中,含有a-d四个邮箱地址,两个邮件组(dev.list@example.com和shanghai.list@example.com),邮件组中含有各自的邮箱地址。收发频率策略和邮件审核策略也是类似,每个策略中都可以含有各自所属的邮箱地址。技术部门管理员就可以管理所有这些对象。

 

3.部门管理员范围约束

 

以邮件组为例,技术部门管理员只能管理这个部门(以及此部门下级部门)下的邮件组,不能看到和操作归属在其他部门下的邮件组。邮件组中的邮箱成员也只能从技术部门(以及此部门下级部门)下的邮件地址中选择。

 

4.部门管理冲突解决方式

 

如果技术部门下的dev.list@example.com这个邮件组中,有一个邮箱haha@example.com不属于当前部门管理员管理(这个邮箱有可能是域管理员从其他部门添加进此邮件组),则部门管理员不能够从这个邮件组中去除这个邮箱地址,但还是可以将技术部门(以及此部门下级部门)下的其他邮箱加入此邮件地址。收发频率策略和邮件审核策略处理方式类似。

 

三、可能的疑问点说明

 

1.域管理员在这个域下可以执行所有操作,可以对所有范围的对象执行操作。域管理员不能够被禁用、删除。

 

2.开通邮箱后,系统会产生一个系统内置的默认部门,域管理员还没有决定对象(邮箱、邮箱组等)具体归属到哪个具体部门的情况下可以选择此部门。部门管理员默认不能操作这个部门(系统内置的默认部门),需要域管理员授权才可。此外,默认不能够被删除。

 

3.部门下如果有邮件地址、邮件组、子部门等对象情况下,则不能够删除这个部门,需要确认删除完此部门下所有对象后才可以删除。

 

4.只有域管理员能够创建、删除、授权部门管理员,部门管理员不能够执行这些操作。

 

 

根据部门层级是不能决定管理员层次。上图中A管理员可以管理B、c部门,B管理员管理A、D部门,从这个角度上看A和B管理员很难界定层级关系。为了这个原因,对部门管理员的创建、授权等操作只允许域管理员进行。

 

5.部门之间不允许循环设置

 

 

上图中,A的子部门是B,B的此部门是C,依次类推。但是D的子部门又是A,则4个部门形成循环,在此系统中不允许此种情况出现。

 

6.部门管理员只能在自己管辖部门以下创建下级部门。比如,部门管理员可以管理A和C部门,则此管理员创建新部门必须在A和C部门之下。同理,部门管理员也不能够创建顶级部门。

<