2012-11-04 2 views
1

기본 HTTP 인증으로 보호 받기를 원하는 간단한 관리 앱이 있습니다. 여기 내 config.ru에있는 것이있다. 이것은 작동하지 않습니다. 내가 뭘 놓치고 있니?Rack :: Auth :: Basic으로 모든 경로 보호

use Rack::Auth::Basic do |user, pass| 
    pass == ENV['ADMIN_PASS'] 
end 

run Rack::URLMap.new(
    '/' => Rack::File.new('./public/index.html') 
    '/resque' => Resque::Server.new, 
    '/mongo' => Genghis::Server.new 
) 
+0

이 브라우저는 인증 헤더를 캐싱하는 것이 될 수 있습니까? ENV [ 'ADMIN_PASS']를 변경하면 로그인 프롬프트가 나타납니다. –

+0

고마워,하지만 그걸 시도해 봤어. 또한 깨끗한 캐시를 사용하여 다른 브라우저에서 시도했습니다. 주사위가 없다. –

+1

어떤 랙 서버에서이 서버를 사용하고 있습니까? 그냥 산탄 총, 유니콘, 그리고 얇은에서 그들을 시도하고 그들은 모두 괜찮아 보였다! –

답변

0

랙 :: 인증 :: 기본은 관리자/암호 배열을 기대하고, 그래서 당신은 같은 것을 할 수있는 :

use Rack::Auth::Basic, "Restricted Area" do |username, password| 
    [username, password] == [ 'admin', ENV['ADMIN_PASS'] ] 
end 
+0

문제는 사용자/패스를 묻는 메시지가 표시되지 않는다는 것입니다. –