2011-09-20 40 views
7

Tôi gặp sự cố nghiêm trọng với việc thêm bảo mật cho trang tổng quan web. Tôi đang cố gắng thiết lập bảo mật cho một loạt các dự án ứng dụng web. Mọi thứ hoạt động mà không có bảo mật nào được bật.CruiseControl.net bảo mật trang tổng quan trang web

Bảo mật tôi muốn khá đơn giản. 2 vai trò "Releasers" và "Testers", người chơi có thể thực hiện bất cứ điều gì, người kiểm thử có thể buộc xây dựng dự án triển khai thử nghiệm và chỉ xem phần còn lại của dự án mà tất cả nâng cấp cài đặt trực tiếp. Tuy nhiên tôi không thể làm cho nó hoạt động được. Khi bắt đầu tôi nghĩ rằng tôi đã cho phép tất cả mọi thứ cho tất cả mọi người và tôi nhận được một vài vấn đề differnt tùy thuộc vào cách tôi thiết lập những thứ khác nhau. Trong mọi trường hợp, tệp cấu hình hợp lệ hóa với trình xác nhận hợp lệ.

server Config

<internalSecurity>  
    <users> 
     <ldapUser name="ccnet" domain="localhost" /> 
     <passwordUser name="ccnetadmin" password="NotTheRealPW" />  
    </users> 
    <permissions> 
     <rolePermission name="Releasers" defaultRight="Allow"> 
     <users> 
      <userName name="ccnetadmin"/> 
     </users> 
     </rolePermission> 
     <rolePermission name="Testers" defaultRight="Allow"> 
     <users> 
      <userName name="ccnet"/> 
     </users> 
     </rolePermission> 
    </permissions> 
    </internalSecurity> 

Dự án An ninh

<security type="defaultProjectSecurity" defaultRight="Inherit"> 
     <permissions> 
     <rolePermission name="Testers" ref="Testers"/> 
     <rolePermission name="Releasers" ref="Releasers"/>   
     </permissions> 
    </security> 

Dashboard.config

Có 3 điều mà không phải là rõ ràng từ các tài liệu hướng dẫn.

  • Loại xác thực nào cần được thiết lập trong IIS.
  • Tôi cần phải thiết lập loại người dùng nào trong phần máy chủ ccnet.config phần bảo mật.
  • Trong cấu hình trang tổng quan, tôi cần gì trong phần <securityPlugins>.

Tôi đã thử các biểu mẫu và cửa sổ được tích hợp trong web.config và trong iis. Với các hình thức nó về cơ bản phàn nàn rằng không có login.aspx, mà không có như vậy tôi nghi ngờ rằng điều này là chính xác. Với các cửa sổ tích hợp, tôi có thể truy cập vào bảng điều khiển. Bất kỳ dự án nào không có phần tử bảo mật tôi có thể thấy trong danh sách nhưng bất kỳ kết quả hành động nào trong một ngoại lệ bảo mật đều nói rằng tôi không có quyền ViewProject. Bất kỳ dự án nào có phần tử bảo mật chỉ đơn giản là không hiển thị trong danh sách. Tôi nhận được cùng một hành vi bất kỳ loại người dùng nào tôi sử dụng simpleUser, passwordUser hoặc ldapUser. Tôi không thể tìm thấy bất kỳ nơi nào đề cập đến bất kỳ giá trị nào khác mà tôi có thể đặt trong phần securityPlugins khác với simpleSecurity, có bất kỳ giá trị nào khác không và nếu có thì chúng là gì.

Tôi đã tìm kiếm tài liệu this và tôi không thể tìm thấy bất kỳ câu trả lời nào cho các câu hỏi này.

EDIT

Ai có thể đề nghị một điều gì tôi có thể đạt được mục tiêu dưới đây nhận được tiền thưởng, thậm chí nếu nó là một cách hoàn toàn khác so với tôi đã mô tả ở trên.

Tôi muốn một nhóm người dùng có thể xem tất cả các dự án CC.net và buộc xây dựng một dự án cụ thể. Tôi muốn một nhóm người dùng khác có thể xem và buộc xây dựng tất cả các dự án. Tôi muốn nó được với một bảng điều khiển cc.net duy nhất, một tập tin cấu hình, nhưng với các tài khoản người dùng khác nhau.

EDIT 2

Như bounty đang cạn kiệt sớm tôi cũng sẽ cung cấp cho nó để bất cứ ai có thể cung cấp một số loại bằng chứng thuyết phục rằng sự an toàn trong cc.net không hoạt động, vì vậy ít nhất tôi biết không lãng phí thời gian của tôi vào nó nữa. Ngoài ra tôi đã cố gắng đăng nhập một vấn đề hoặc đăng lên diễn đàn cc.net về điều này nhưng dường như họ đã chuyển sang một hệ thống mới và điều đó không có tác dụng, nhưng nó sẽ không cho phép bạn đăng ký tài khoản người dùng, nó yêu cầu xác minh email nhưng email không bao giờ đi qua.

Trả lời

10

OK Cuối cùng tôi đã làm việc nó ra. Tất cả mọi thứ đã được thiết lập hoàn toàn tốt đẹp. Tuy nhiên những gì các tài liệu không đề cập đến ở tất cả là LÀM THẾ NÀO ĐỂ ĐĂNG NHẬP. Bạn thiết lập loại bảo mật nào trong iis/web.config. Câu trả lời cho điều này là nó không liên quan vì cc.net không sử dụng bất kỳ loại bảo mật nào. Tài liệu được đề cập cho phép đăng nhập bằng cách thêm phần <securityPlugins> vào cấu hình bảng điều khiển với phần tử trong đó để "bật đăng nhập". Nhưng nó đã không đề cập đến làm thế nào để đăng nhập. Những gì tôi có JUST nhận thấy là nếu trong bảng điều khiển web bạn chọn một máy chủ từ danh sách sau đó nó cung cấp cho bạn một nút đăng nhập. Thing là tôi hiếm khi nhìn vào báo cáo máy chủ, tôi chỉ có 1 máy chủ để "báo cáo trang trại" là cùng một danh sách các dự án như là "báo cáo máy chủ" và nó chỉ có vẻ vô nghĩa. Nhưng nút đăng nhập chỉ xuất hiện nếu đang xem báo cáo máy chủ. Tôi cảm thấy hơi ngớ ngẩn nhưng đơn giản - "bạn không thể đăng nhập từ báo cáo trang trại; bạn cần chọn báo cáo máy chủ để đăng nhập" - trong tài liệu . I E. nó đã đưa tôi ngày để tìm nút đăng nhập đẫm máu.

+0

Bạn có thể chỉ định thêm chi tiết không? Tôi không biết phải đưa gì vào . Tài liệu về các plugin bảo mật tại http://cruisecontrolnet.org/projects/ccnet/wiki/Security_plugins trả lại 404 – erict

+0

Chi tiết là tôi tìm thấy nút đăng nhập, mọi thứ khác tôi đã thiết lập đã thực sự hoạt động OK, –

0

Tôi cũng tò mò và sẽ cố gắng tìm ra điều này một lần nữa, nhưng lần cuối cùng tôi đã thử tôi cũng bị bối rối.

Giải pháp tạm thời của tôi là định cấu hình web.config để xác định ai có quyền truy cập vào CC.NET chỉ cho các yêu cầu GET và ai có quyền truy cập hoàn toàn (bao gồm các yêu cầu POST cần thiết cho bất kỳ hành động kickoff nào).

<configuration> 
    <system.web> 
     <authorization> 
      <allow verbs="GET" roles="DOMAIN\ccnetreadonly" /> 
      <allow roles="DOMAIN\ccnetcanperformactions" /> 
      <deny users="*" /> 
     </authorization> 
    </system.web> 
</configuration> 

Không phải là tốt nhất, nhưng nó đã làm việc ...

+0

Cảm ơn, rất tiếc nó sẽ không hoạt động đối với tôi. Tôi có một loạt các dự án "sống" xây dựng và triển khai các ứng dụng web trực tiếp và một dự án dàn dựng để xây dựng và triển khai ứng dụng web thử nghiệm/dàn dựng. Tôi muốn một số lượng hạn chế người dùng có thể bắt buộc xây dựng các dự án trực tiếp nhưng tất cả người dùng khác đều có thể xem trực tiếp mà còn buộc xây dựng dự án thử nghiệm/dàn dựng. Như vậy tất cả người dùng cần có thể đăng. –

Các vấn đề liên quan