問題タブ [rack-middleware]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
27 参照

ruby-on-rails-4 - rails4でrackがコマンドとして識別されない

Rails4 プロジェクトgem 'rails', '4.0.2'があり、カスタム ラック モジュールを で作成しました config/initializers/request_timer.rb。ライアン ベイツのスクリーンキャストから

しかしrack middleware、プロジェクト内でコマンドを実行すると、

-bash: rack: command not found

rackGemfile に gem を追加していませんが、デフォルトでレールが付属していると思います。

以下は私のGemfileです

任意の助けをいただければ幸いです

0 投票する
4 に答える
15095 参照

ruby-on-rails-4 - カスタム ミドルウェアを Rails 4 に追加する

Rails 4 のサンプル プロジェクト (ブログ) があり、'request_timer' という単純なミドルウェアを作成しました。config/initializers/request_timer.rb

ミドルウェアをconfig/application.rb2つの方法で追加しました

1)定数として追加

この方法で Rails アプリを実行しようとすると、エラーが発生します

2)次に、ミドルウェアを文字列として追加しました

このようにして、Railsサーバーを実行できますが、にアクセスすると、次localhost:3000のエラーが表示されます

その理由は何ですか?Rails4.0.2rack-1.5.2を使用してruby 2.0.0p247います。

0 投票する
1 に答える
734 参照

basic-authentication - Rack::Attack を使用して基本認証を抑制する

gem rack-attackアプリのセットアップが完了しました。IP に基づく基本認証認証のスロットリングを開始したいと考えています。

私の基本的な認証コードの設定は次のようになります:

私のラック攻撃には次のようなものが含まれると思います:

0 投票する
1 に答える
241 参照

ruby-on-rails - ラックミドルウェア グローバルミドルウェア

この平和なコードがどのように機能するか、特にログ フィルター部分について説明してください。log_attributes_filterを呼び出すラック ファイルから割り当てたいのですがuse MongodbLogger::RackMiddleware、どのように行うのですか?

単純に として使用する前にuse MongodbLogger::RackMiddleware、いくつかのパラメーターをフィルター処理したいのですが、どのように適切に割り当てる必要があります@@log_attributes_filterか?

0 投票する
1 に答える
1752 参照

ruby-on-rails - サブドメインのログイン管理による Rails 4 のマルチテンカンシー

シナリオ: サブドメインとデバイスを使用するマルチテナント Rails アプリ 問題: ユーザーが mydomain.com にログインし、ログイン ユーザーとして自分の subdomain1.mydomain.com アドレスに転送できるようにしたい。現在、彼らは自分のサブドメインに直接ログインすることしかできません.

私は比較的 Rails の初心者であり、単純な解決策を見つけることができません (ただし、解決策が必要なようです)。理想的には、mydomain.com と subdomain1.mydomain.com で 1 つの Cookie を共有したいのですが、カスタム ミドルウェアを作成するスキルがありません。明らかに、マルチテナントであるため、すべてのサブドメインで 1 つのセッションを共有することはできません。これに数日間立ち往生し、OAuthまたは他のより面倒なソリューションを検討し始める前に、私が見逃している簡単なソリューション(config.session_storeドメイン設定など)があるかどうかに興味があります。どんな助けでも大歓迎です!

編集:もちろん、投稿後にこれを見つけただけです。Rails と Devise に登録した後、ユーザーをサブドメインにログインさせます。config.session_store ドメインを試してみます: :all フィルターの前に推奨事項を指定し、機能しない場合は詳細を投稿します。少なくとも良い考えのようです。

編集:サブドメイン設定を使用して特定のデバイスで機能したソリューション:

基本的に、ログイン時に session[:subdomain] を使用してセッションにサブドメインを設定し、それを使用してセッションを現在のユーザーにスコープします。それ以外の場合、session_store でドメインが :all に設定されていると、スコープが壊れます。ユーザーが承認されていない場合、request.protocol (http:// または https://) +request.domain リダイレクトを介して公開ホームページにリダイレクトされます。単純!これで、ユーザーは同じセッション内でベース ドメインとサブドメインの間を移動できます。

0 投票する
0 に答える
264 参照

ruby-on-rails - Railsアプリが完全にAPIでない限り、ActionController::APIに利点はありますか?

Rails アプリが常に単なる API である場合、100% ではありません。

それを念頭に置いて、私は ActionController を保持しています:

class ApplicationController < ActionController::Base

APIコントローラーを作成することを選択し、

class ApiController < ActionController::API.

今、私は自分application.rbの を変更していないので、 に関する設定はありませんconfig.api_only

そうは言っても、API だけをビルドするとrails-api、スタック内のミドルウェアが削減されるため、40% 高速になる可能性があることはわかっています。から継承するだけで、この利点を引き続き保持できActionController::APIますか? この 40% のブーストがない場合、これを行うメリットはありますか?

0 投票する
1 に答える
318 参照

ruby - Sinatra でミドルウェアを無効にするにはどうすればよいですか?

Sinatra を使用してセキュアな Web サービスを作成しています。SSL と、すべての要求で送信されるセキュリティ トークンが必要です。そのため、着信リクエストごとにセキュリティ トークンをチェックし、トークンが見つからないか無効である場合はリクエストを拒否する単純なミドルウェアを作成しました。

ただし、Web サービスにセキュリティを追加する前に作成された検証テストの大規模なテスト スイートが失敗したことは明らかです。

ミドルウェアを有効にした後、単純に無効にする方法はありますか? そうすれば、テスト スイート全体が引き続き機能し、セキュリティ ミドルウェアを個別にテストできます。

0 投票する
2 に答える
2010 参照

ruby-on-rails - RoR - ラック ミドルウェアとアクティブ コントローラー フィルターのどちらが優先されますか?

Ruby on Rails の最新バージョン (この質問をしている時点では 4) の場合、認証メカニズムなどの要求/応答を変更するコードを実装するための推奨される方法は何ですか? アクション コントローラーのフィルター メソッドを使用して同じ機能を実現できるように見えますが、 Rack ミドルウェアを推奨している多くのサイトやチュートリアルを目にします。

推奨される方法論に加えて、それぞれの長所と短所の比較を提供できますか? 私の最初の調査では、ミドルウェアがそのレベルの制御を行うことができないように見えても、特定のコントローラー エンドポイントで特定のフィルターの実行をバイパスできるように、アクション コントローラーのフィルター メソッドが RoR アプリにより緊密に統合されているように思われます。このような詳細は素晴らしいでしょう。ありがとう!