5
Sinatra를 사용하여 Ruby에 작은 웹 서비스를 작성하고 있습니다. 거의 모든 것에 대한 액세스는 HTTP 기본 인증 (프로덕션 환경에서 https를 통해)을 사용하여 제어됩니다.Sinatra에서 기본 인증을 요구하지 않도록 경로를 제외하려면
승인을 요구하지 않도록 제외하려는 특정 디렉토리가 하나 있습니다. 이 작업을 수행하는 쉬운 방법이 있습니까?
Sinatra를 사용하여 Ruby에 작은 웹 서비스를 작성하고 있습니다. 거의 모든 것에 대한 액세스는 HTTP 기본 인증 (프로덕션 환경에서 https를 통해)을 사용하여 제어됩니다.Sinatra에서 기본 인증을 요구하지 않도록 경로를 제외하려면
승인을 요구하지 않도록 제외하려는 특정 디렉토리가 하나 있습니다. 이 작업을 수행하는 쉬운 방법이 있습니까?
require 'sinatra'
helpers do
def protected!
unless authorized?
response['WWW-Authenticate'] = %(Basic realm="Testing HTTP Auth")
throw(:halt, [401, "Not authorized\n"])
end
end
def authorized?
@auth ||= Rack::Auth::Basic::Request.new(request.env)
@auth.provided? && @auth.basic? && @auth.credentials && @auth.credentials == ['admin', 'admin']
end
end
before { protected! unless request.path_info == "/public" }
get('/public') { "I'm public!" }
굉장합니다. 감사! –
코드를 게시 할 수 있습니까? –