GenghisApp - 限制公开访问,只能作为管理员访问我

时间:2013-10-16 11:22:15

标签: ruby-on-rails mongodb vps

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

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

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

谢谢。

2 个答案:

答案 0 :(得分:0)

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

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

然后用Devise做,

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

...只有经过身份验证的用户才能访问'/ genghis'。您可以实现一项功能来记录访问此路由的所有用户的详细信息(活动跟踪),如果您还关注任何经过身份验证的用户,也可以通过电子邮件接收每日摘要;那么甚至可以在顶部添加授权〜请参阅CanCan宝石。

答案 1 :(得分:0)

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

如果没有,你可以使用Rack with basic auth和super simple config:

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

将'admin'和'hunter2'换成首选身份验证,然后通过rackup代替genghisapp -L运行。