首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Warden vs Rack::Auth::Basic。在Ruby框架中执行HTTP-Basic-Auth

Warden vs Rack::Auth::Basic。在Ruby框架中执行HTTP-Basic-Auth
EN

Stack Overflow用户
提问于 2010-08-28 08:38:27
回答 1查看 2.5K关注 0票数 3

我想在Ruby中创建一个WebService (Sinatra,Padrino,也许Ramaze...还不知道...),但我肯定想确保它的安全...

它将是Iphone应用程序的后端,所以我认为SSL安全的HTTP-Basic-Auth将会很好。

我已经查看了几个身份验证框架,遇到了warden……似乎有很好的记录,而devise是建立在它之上的……所以不会那么糟糕的.

但是..。在我看来有点过分了,为了我需要的.

然后我找到了这个Code-Snipplet:

代码语言:javascript
复制
  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

如果我只需要那台自动取款机...或者你们谁能提供一个很好的Warden + HTTP-Basic Auth的例子?或者向我解释使用典狱长的更多好处?

提前感谢!:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-28 20:04:18

不完全确定您在这里要实现的目标。但是,我们有一个Rails应用程序,其中我们使用Warden (+ devise)和HTTP-Basic-Auth相结合,使用中间件来隐藏我们的临时实例。下面是我们放在config/environment/staging.rb中的内容:

代码语言:javascript
复制
  config.middleware.insert_after(::Rack::Lock, "::Rack::Auth::Basic", "Not for public eyes") do |u, p|
u == 'admin' && p == 'secret'
  end

这与我们的典狱长身份验证规则是并行工作的。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3588951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档