我刚刚实施了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
答案 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