2012-03-09 36 views
19

Cách tốt nhất để thêm nhiều quyền truy cập vai trò vào một Gollum wiki là gì?Kiểm soát truy cập mạnh mẽ cho Gollum?

Tôi hiểu cách thêm auth HTTP cơ bản thông qua, Rack middleware. Tuy nhiên, tôi muốn biết những gì cần thiết để có xác thực và ủy quyền đa vai trò/người dùng.

Có thể sử dụng Devise hoặc OmniAuth theo cách tương tự với ứng dụng Rails không?

Điều gì là bắt buộc?

+1

@ChrisF Tôi sẽ viết lại điều này để làm chủ đề. + bỏ phiếu để mở lại. – ocodo

+0

Cho đến khi nó được mở lại, tôi đề nghị bất cứ ai lái xe bằng cách xem xét gói Gollum bên trong một ứng dụng Rails theo http://stackoverflow.com/a/13372435/311660 - gói các cấp ủy quyền khác nhau (ví dụ với CanCan, vv) có thể yêu cầu Gollum để làm như vậy, nó phụ thuộc vào mức độ chi tiết của ủy quyền/vai trò/quyền mong muốn. – ocodo

Trả lời

0

Trong chủ đề này

https://github.com/gollum/gollum/issues/107

một trong những nhà phát triển Gollum đưa ra một số gợi ý. Không có ngã ba/dự án nào được nêu ra.

+2

Trong khi điều này về lý thuyết có thể trả lời câu hỏi, [nó sẽ là thích hợp hơn] (http://meta.stackexchange.com/q/8259) để bao gồm các phần thiết yếu của câu trả lời ở đây, và cung cấp liên kết để tham khảo. – CharlesB

2

Tôi tìm thấy một phần mở rộng http-auth cơ bản ở đây: https://gist.github.com/2224709

+0

Đó là lựa chọn tốt nhất cho đến nay nhưng nó không cho phép kiểm soát phân cấp. –

16

Với gợi ý này http://www.sinatrarb.com/faq.html#auth tập tin cấu hình của tôi như thế này

# authentication.rb 
module Precious 
    class App < Sinatra::Base 
    use Rack::Auth::Basic, "Restricted Area" do |username, password| 
     [username, password] == ['admin', 'admin'] 
    end 
    end 
end 

và chạy như:

$ gollum --config authentication.rb 

Trong Gollum chạy ví dụ, nó sẽ yêu cầu tên người dùng và mật khẩu

1

Để điều này ở đây cho bất kỳ ai quan tâm: Sử dụng phương pháp của vigntom, tôi đã tạo một repo có thêm auth cơ bản được thêm vào cho Gollum, sẵn sàng để sử dụng. Tôi đặt thông tin đăng nhập vào một tệp yaml để giữ cho chúng không bị mã hóa cứng trong repo.

https://github.com/mrchameleon/precious

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