Rack::Auth::Basic
を使用してBasic認証を実装するとサイト全体に適用されます。
config.ru
use Rack::Auth::Basic do |username, password|
username == "user" && password == "password"
end
例外的に/hoge
のアクセスだけはBasic認証を適用したくない場合、
Rack::Auth::Basicを継承したクラスを作成し
config.ru
class MyAuth < Rack::Auth::Basic
def call(env)
request = Rack::Request.new(env)
if request.path == '/hoge'
@app.call(env)
else
super
end
end
end
useすることで/hoge
アクセス時にはBasic認証が適用されません。
config.ru
use MyAuth do |username, password|
username == "user" && password == "password"
end