【问题标题】:GenghisApp - restrict access from public and have access only for me as a adminGenghisApp - 限制公众访问,只有我作为管理员才能访问
【发布时间】:2013-10-16 11:22:15
【问题描述】:

我在我的 VPS 上安装了 Genghis Admin 用于 MongoDB 管理。我只使用“gem install genghisapp”一个正在运行的应用程序“genghisapp -L”。

有什么方法可以限制公众访问,并且只有我作为管理员才能访问?

现在每个人都可以访问我的 genghisapp,但它在我的服务器名称旁边显示“连接错误:未经授权”。

谢谢。

【问题讨论】:

    标签: ruby-on-rails mongodb vps


    【解决方案1】:

    您可以从另一个 Rails 应用程序中安装 Genghis 应用程序,然后引导 Devise 为您处理身份验证。

    mount Genghis::Server.new, :at => '/genghis'
    

    然后用设计,做

    authenticated :user do
       mount Genghis::Server.new, :at => '/genghis'
    end
    

    ...只有经过身份验证的用户才能访问“/genghis”。如果您还担心任何经过身份验证的用户,您可以实现一个功能来记录访问此路线的所有用户的详细信息(活动跟踪)并通过电子邮件接收每日摘要;然后甚至可以在顶部添加授权~请参阅 CanCan gem。

    【讨论】:

      【解决方案2】:

      如果您已经有一个想要集成的 Rails 应用程序,Michael 是对的。它还有一个额外的好处是不需要单独的进程来运行 Genghis,因为它安装在您的实际 Rails 应用程序的路径上。

      如果没有,您可以使用带有基本身份验证和超级简单配置的 Rack:

      require 'genghis'
      use Rack::Auth::Basic, 'Genghis' { |u, p| u == 'admin' && p == 'hunter2' }
      run Genghis::Server
      

      将 'admin' 和 'hunter2' 换成您喜欢的身份验证,然后通过 rackup 而不是 genghisapp -L 运行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-13
        • 1970-01-01
        • 2012-12-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多