VPSに MongoDB 管理用のGenghis Adminをインストールしました。「genghisapp -L」で実行中のアプリ「gem install genghisapp」のみを使用します。
一般ユーザーからのアクセスを制限し、管理者のみがアクセスできるようにする方法はありますか?
これで誰もが私のgenghisappにアクセスできるようになりましたが、サーバー名の横に「接続エラー: 許可されていません」と表示されます。
ありがとうございました。
VPSに MongoDB 管理用のGenghis Adminをインストールしました。「genghisapp -L」で実行中のアプリ「gem install genghisapp」のみを使用します。
一般ユーザーからのアクセスを制限し、管理者のみがアクセスできるようにする方法はありますか?
これで誰もが私のgenghisappにアクセスできるようになりましたが、サーバー名の横に「接続エラー: 許可されていません」と表示されます。
ありがとうございました。
別の Rails アプリ内から Genghis アプリをマウントし、Devise をブートストラップして認証を処理することができます。
mount Genghis::Server.new, :at => '/genghis'
次にDeviseで、
authenticated :user do
mount Genghis::Server.new, :at => '/genghis'
end
...そして、認証されたユーザーだけが「/genghis」にアクセスできます。このルートにアクセスしたすべてのユーザーの詳細を記録する機能を実装し (アクティビティ追跡)、認証されたユーザーについても懸念がある場合は、毎日のダイジェストを電子メールで受け取ることができます。次に、上に追加することもできる承認があります。これについては、CanCan gem を参照してください。
統合したい Rails アプリが既にある場合は、Michael の言うとおりです。実際の Rails アプリのパスにマウントされるため、Genghis を実行するための別のプロセスを必要としないという追加の利点があります。
そうでない場合は、基本的な認証と非常に単純な構成で Rack を使用できます。
require 'genghis'
use Rack::Auth::Basic, 'Genghis' { |u, p| u == 'admin' && p == 'hunter2' }
run Genghis::Server
「admin」と「hunter2」を優先認証に交換し、rackup
代わりに経由して実行しgenghisapp -L
ます。