Luntbuild内置了用户认证和授权处理的安全机制。 Luntbuild的安全配置是独立于Servlet容器(或应用服务器)的,所有的配置都在Luntbuild应用程序里面完成。
只有通过认证的用户才可以访问Luntbuild。Luntbuild的功能可以指派给以下的几个基本角色:
| 站点管理员 |
| 项目管理员 |
| 项目构建者 |
| 项目参与者 |
| 角色描述 |
拥有该角色的用户代表了root用户。拥有“站点管理员”角色的用户可以访问所有的Luntbuild的功能,没有任何限制。下面是"站点管理员"有权执行的所有任务:
| 用户管理 |
| 系统属性管理 |
| 创建项目 |
| 管理构建计划 |
| 给不同的用户指派“项目管理员”角色 |
| 检查系统日志 |
拥有该角色的用户具有项目管理的所有功能。下面是"项目管理员"有权执行的所有任务:
| 修改项目配置 |
| 管理VCS模块 |
| 管理构建 |
| 给用户指派项目中的角色(项目管理员,项目构建者和项目参与者) |
拥有该角色的用户只能管理项目构建有关的任务。下面是"项目构建者"有权执行的所有任务:
| 手工触发构建 |
这个角色是最受限制的角色,下面是"项目参与者"有权执行的所有任务:
| 查看构建结果 |
| 查看构建日志 |
| 下载构建的制品 |
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还提供了一个dummy用户,该用户权限最小,仅用于测试。 其他的用户都应该通过Users(用户)标签页来创建,详情请参考添加Luntbuild用户这一章。 第二种是基于数据库的,可以在Project(项目)标签页定义项目有关的角色。详情请参考 新建一个项目这一章。