我在我的VPS上安装了Genghis Admin 用于MongoDB管理。我只使用“gem install genghisapp”运行应用程序“genghisapp -L”。
有什么方法可以限制公众访问,并且只能作为管理员访问我?
现在每个人都可以访问我的genghisapp,但它在我的服务器名称旁边显示“连接错误:未授权”。
谢谢。
答案 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
运行。