CCNet安全例外

时间:2015-01-12 02:47:44

标签: security exception cruisecontrol.net

我刚刚实施了CCNet安全性,我可以通过WebDashboard登录。

问题是,当我尝试强制构建时,我得到以下异常。

异常消息

远程服务器上的请求处理失败:执行“ViewProject”的权限已被拒绝。

Exception Full Details
ThoughtWorks.CruiseControl.Remote.CommunicationsException: Request processing has failed on the remote server:
Permission to execute 'ViewProject' has been denied.
   at ThoughtWorks.CruiseControl.Remote.CruiseServerClient.ValidateResponse(Response response)
   at ThoughtWorks.CruiseControl.Remote.CruiseServerClient.ListBuildParameters(String projectName)
   at ThoughtWorks.CruiseControl.WebDashboard.ServerConnection.ServerAggregatingCruiseManagerWrapper.ListBuildParameters(IProjectSpecifier projectSpecifier, String sessionToken)
   at ThoughtWorks.CruiseControl.WebDashboard.Dashboard.ProjectParametersAction.Execute(ICruiseRequest cruiseRequest)
   at ThoughtWorks.CruiseControl.WebDashboard.MVC.Cruise.CruiseActionProxyAction.Execute(IRequest request)
   at ThoughtWorks.CruiseControl.WebDashboard.MVC.Cruise.ExceptionCatchingActionProxy.Execute(IRequest request)

我的安全配置如下所示:

服务器安全

<internalSecurity>  
<cache type="inMemoryCache" duration="10" mode="sliding"/> 

<audit>
<xmlFileAudit location="C:\CCNet\CCNet_Audit.xml"/>
</audit>
<auditReader type="xmlFileAuditReader" location="C:\CCNet\CCNet_Audit.xml"/>

<users>
<ldapUser name="*" domain="company_domain" />
</users>

<permissions>
<rolePermission name="admin" forceBuild="Allow" sendMessage="Allow" startProject="Allow" changeProject="Allow" viewSecurity="Allow" modifySecurity="Allow" viewProject="Allow" viewConfiguration="Allow" defaultRight="Inherit">
<users>
<userName name="PROD_ADMINS" /> <!--AD User Group -->
</users>
</rolePermission>
</permissions>
</internalSecurity>  

项目安全

<security type="defaultProjectSecurity">
<permissions>
<rolePermission name="admin" ref="admin"/>
</permissions>
</security> 

审核日志正确地从AD中捕获我的名字,因此身份验证似乎工作正常。

不确定出了什么问题。我已经尝试了文档中提到的所有内容但它不起作用! 任何帮助将不胜感激。

问候
Ujjwal

2 个答案:

答案 0 :(得分:0)

我猜你忘了设置defaultRight defaultRight =&#34;拒绝&#34; 要么 defaultRight =&#34;允许&#34;

在这里查看文档 http://www.cruisecontrolnet.org/projects/ccnet/wiki/Role_Permission

查看wiki上的完整示例 http://www.cruisecontrolnet.org/projects/ccnet/wiki/Scenario_1_Small_In-house_Development_Team  这提供了更多信息: - )

答案 1 :(得分:0)

好的......它终于奏效了!

以下是:

除了CCNet 不支持广告组之外,配置正确! 一旦我用AD标识的实际用户ID替换<userName name="PROD_ADMINS" />,它就像一个魅力! :)

有关详细信息,请参阅this博客上的 EDIT 2 评论。

问候
Ujjwal