0

rails_adminを使用してモデルの CRUD アクションを管理するRails 4.2 アプリがあります。current_user.admin が必要ですか? == アクセスの場合は true。

Split gemを使用して A/B テストを追加しました。管理者のみが分割ダッシュボードを表示できるようにするために同じ承認を使用したいと考えており、ダッシュボードが example.com/admin/split で利用できるように、管理パネル内にルートを作成するのが最も簡単な方法であると考えました。

Split::Dashboard を 'admin/split' にマウントできますが、それは単に管理者の承認を完全にバイパスします。

代わりに、ダッシュボードが rails_admin 内にマウントされている admin/split にリダイレクトする、rails_admin ダッシュボードにボタン/リンクを追加したいと考えています。

助けていただければ幸いです。

4

1 に答える 1

0

split の webinterface はシナトラ アプリです。同じ URL パスにマウントするだけでは、rails_admin エンジンについては何もわかりません。分割インターフェースのドキュメントhttps://github.com/splitrb/split#web-interfaceを確認してください。およびhttps://steve.dynedge.co.uk/2011/12/09/controlling-access-to-routes-and-rack-apps-in-rails-3-with-devise-and-warden/

Rack::Auth::Basic は基本的な http 認証であるため、明らかに機能しません。そのため、カスタム リクエスト ミドルウェアを貼り付けて、2 番目の方法を使用する必要があります。current_user は、典型的な auth gem によって rails コントローラーに追加されるため、そこでは利用できません。ただし、lib が認証に warden を使用している場合 (devise のように)、情報は request.env['warden'] にあります。それ以外の場合は、セッション ID を取得する必要がありますrequest.env["rack.session"]

于 2016-02-22T12:18:49.010 に答える