Subversion实践案例——精细化的访问控制(二)

基本信息

用户单位:某大型软件企业
用户规模:500人以上
组织过程水平:中等
CMMI评审等级:3级
Subversion使用时间:2年

客户需求

该公司对Subversion访问控制的需求主要包括

1、精细化的授权体系

其相关需求和上一案例:Subversion实践案例——精细化的访问控制(一)基本相同

2、特殊的访问控制需求
    a、对IP来源的控制,即只允许若干特定IP段的访问来源进行访问
    b、对访问时间的控制,即只允许若干时间段内进行访问
   
c、上述二点需求可以根据不同的用户、项目及角色信息等进行设定

问题解析

    该客户的第一点需求已经在上一案例中很好的解决了,但第二点需求则无法用访问控制文件+钩子的方式来进行控制,因为对于访问的IP来源的控制这两种技术手段都无能为力,而至于对访问时间的控制虽然钩子可以比较好的实现,但访问控制文件的实时更新(需随着时间、用户等信息进行自动更新)显然又需要在服务器端添加一个系统服务——显然这不是个好方法。
    因此,需要在上述两种技术手段之外寻找途径。好在用户的Subversion是通过在Apache服务器来部署的,所以可以通过添加额外的Apache模组来实现相关的控制。 相对来说,这是一种较为底层的实现方式,理论上可以实现任何的访问控制,所以添加了Apache模组后,访问控制文件和钩子都可以不再使用,而访问的效率也可以因此有所提高。

我们的解决方案

我们提供的解决方案如下图所示:

精细访问控制2

如上图所示:所有的访问请求都被附加的Apache模组截获,并由其向规则验证服务(Service)发送验证请求,并通过验证规则对其进行验证(验证的内容可以包括IP来源和系统时间),然后将验证被允许的访问发生给服务器上的配置库,而验证拒绝的访问请求则直接返回错误。

参见:SmartChange访问控制模块

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值