作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Sinatra 在 Ruby 中编写一个小型 Web 服务。使用 http 基本身份验证(在生产中通过 https)控制对几乎所有内容的访问。
我想从要求授权中排除一个特定的目录。是否有捷径可寻?
最佳答案
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!" }
关于sinatra - 如何在 Sinatra 中排除要求基本身份验证的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2062801/
我是一名优秀的程序员,十分优秀!