第 18 章 Luntbuild安全性

Luntbuild内置了用户认证和授权处理的安全机制。 Luntbuild的安全配置是独立于Servlet容器(或应用服务器)的,所有的配置都在Luntbuild应用程序里面完成。

18.1. 整体安全概念一览

只有通过认证的用户才可以访问Luntbuild。Luntbuild的功能可以指派给以下的几个基本角色:

站点管理员
项目管理员
项目构建者
项目参与者
角色描述

站点管理员

拥有该角色的用户代表了root用户。拥有“站点管理员”角色的用户可以访问所有的Luntbuild的功能,没有任何限制。下面是"站点管理员"有权执行的所有任务:

用户管理
系统属性管理
创建项目
管理构建计划
给不同的用户指派“项目管理员”角色
检查系统日志

项目管理员

拥有该角色的用户具有项目管理的所有功能。下面是"项目管理员"有权执行的所有任务:

修改项目配置
管理VCS模块
管理构建
给用户指派项目中的角色(项目管理员,项目构建者和项目参与者)

项目构建者

拥有该角色的用户只能管理项目构建有关的任务。下面是"项目构建者"有权执行的所有任务:

手工触发构建

项目参与者

这个角色是最受限制的角色,下面是"项目参与者"有权执行的所有任务:

查看构建结果
查看构建日志
下载构建的制品

18.2. 怎样配置Luntbuild的安全

Luntbuild的安全配置有两种方式. 其中一种通过修改配置文件(例如修改<your app. server>/webapps/luntbuild/WEB-INFO/applicationContext.xml文件) 基于安全方面的考虑,您首先应该修改站点管理员的口令。 修改默认的站点管理员口令请参考inMemoryAuthenticationDAO这一节。

    
	<bean id="inMemoryAuthenticationDAO" class="net.sf.acegisecurity.providers.dao.memory.InMemoryDaoImpl">
		<property name="userMap">
			<value>
				<!-- this is the build-in site admin user - please change the password for security reasons.
				     However, name of the user, and its role should not be changed! -->
					luntbuild=luntbuild,ROLE_SITE_ADMIN,ROLE_AUTHENTICATED
					dummy=dummy,ROLE_AUTHENTICATED
			</value>
		</property>
	</bean>
    
    

注意

在安装Luntbuild的时候也可以修改站点管理员的口令

Luntbuild还提供了一个dummy用户,该用户权限最小,仅用于测试。 其他的用户都应该通过Users(用户)标签页来创建,详情请参考添加Luntbuild用户这一章。 第二种是基于数据库的,可以在Project(项目)标签页定义项目有关的角色。详情请参考 新建一个项目这一章。