安全服务的设计思考
前面将安全中的用户部分的信息基本完成,现在需要思考怎么来完成安全服务中对于权限部分的设计工作,需要分析一下权限部分需要处理那些问题及最初的解决问题的想法。先来记录一下需要处理的权限控制方面的问题。经过前面对部分资源的参考和了解,其中对于权限控制分为两种:
一是业务处理控制:主要控制当前用户能够处理那些业务,能够执行系统中的什么功能。
二是业务范围控制:主要控制当前用户在执行业务时,能够处理那一个范围内的业务。这里的范围指业务数据范围(数据表的行范围)和业务的数据属性范围(数据表的列范围)。
这里简单想像一下处理一下定单销售软件的定单销售流程:
建立销售定单(业务部) -> 核实产品价格(产品部)->制定收款计划(财务部)->安排生产计划(生产部)->制定发货计划(发运部)->审批定单(总经理)->执行 ->....
在这一个简单的流程化业务中,能够建立销售定单,核实产品价格等业务节点能力的就是业务处理能力,这里进行权限控制就是业务处理控制,而如果像销售金额大于>100W的定单必须由产品部部长核实价格等则属于业务范围控制。当在进行产品价格的核实时如果需要查询产品的资料,并且这个产品资源可能会包括成本信息,这个信息不能让业务员了解,还包括有这个产品的一些其它信息。这些信息可能又会对不同的人进行不同的权限要求,像这样一种复杂的权限控制,通过怎么的方式才能够满足呢。
我想需要设计这样一套满足要求的权限的控制还需要先从一个具体的业务流程开始,从这个业务流程中分离出需控制的内容要求,从面进行分析。
一是业务处理控制:主要控制当前用户能够处理那些业务,能够执行系统中的什么功能。
二是业务范围控制:主要控制当前用户在执行业务时,能够处理那一个范围内的业务。这里的范围指业务数据范围(数据表的行范围)和业务的数据属性范围(数据表的列范围)。
这里简单想像一下处理一下定单销售软件的定单销售流程:
建立销售定单(业务部) -> 核实产品价格(产品部)->制定收款计划(财务部)->安排生产计划(生产部)->制定发货计划(发运部)->审批定单(总经理)->执行 ->....
在这一个简单的流程化业务中,能够建立销售定单,核实产品价格等业务节点能力的就是业务处理能力,这里进行权限控制就是业务处理控制,而如果像销售金额大于>100W的定单必须由产品部部长核实价格等则属于业务范围控制。当在进行产品价格的核实时如果需要查询产品的资料,并且这个产品资源可能会包括成本信息,这个信息不能让业务员了解,还包括有这个产品的一些其它信息。这些信息可能又会对不同的人进行不同的权限要求,像这样一种复杂的权限控制,通过怎么的方式才能够满足呢。
我想需要设计这样一套满足要求的权限的控制还需要先从一个具体的业务流程开始,从这个业务流程中分离出需控制的内容要求,从面进行分析。