問題タブ [declarative-authorization]

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 投票する
2 に答える
210 参照

ruby-on-rails - Railsサブスクリプションの制限

サブスクリプション属性に制限が設定されたアプリケーションがあります。i/eaユーザーはサブスクリプションAに5つのプロジェクトを持つことができますが、サブスクリプションBには10のプロジェクトを持つことができます。

現在、作成アクションにリンクするときに現在の使用状況をチェックしていますが、制限を超えている場合は、新しいプロジェクトを作成するためのリンクを表示しません。ビュー(新しいプロジェクトの場合)で、(ヘルパーで)チェックを再度実行して、新しいプロジェクトを作成できるかどうかを確認します。作成できない場合は、そのことを示すメッセージと小さなアップグレードリンクを表示します。

これは、サブスクリプション属性の制限をバイパスしてユーザーを停止する安全な方法ですか?

直接PUTリクエストなどはどうですか?

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

ruby-on-rails - declarative_authorization と名前空間

ご存知ですか - declarative_authorization は名前空間のリソースへのアクセスを制御できますか? 私は次のようなものを試しました

しかし、それは機能していません:(これに関するアイデアはありますか?

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

mongodb - 宣言的認可とモンゴイド

モンゴイドで宣言型認可を実装したい。しかし、成功することはできません。宣言型承認は ActiveRecord のみで機能するようです。MOngoid と MongoDB で動作させることはできますか? 何か案は。

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

ruby-on-rails - ユーザー ID を常に URL のパラメーターとして保持せずに、宣言型承認を使用するにはどうすればよいですか?

宣言型承認では、検証を行うために params[:id] が必要なようです。URL ではなく、ユーザーがセッションに保存される /profile や /dashboard などのパスを使用したいと考えています。しかし、それは壊れます。宝石自体をハッキングせずにこれを行う方法についてのアイデアはありますか?

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

ruby-on-rails - declarative_authorization ファイル内の belongs_to モデル属性を確認するにはどうすればよいですか?

パーミッションのために属しているモデルのチェックが必要です。ユーザーは、プロジェクトの所有者である場合にのみ、ブログを作成する必要があります

型式コード

そして今、関連する認証部分

if_attribute が問題です。関連するモデルを確認するにはどうすればよいですか? (上記の if_attribute コードラインは機能しません。これは、ブログの属しているプロジェクトと user_id が project_model にあるためです)

前もって感謝します :)

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

ruby-on-rails-3 - declarative_authorization: 明示的なモデルを持たないネストされたリソースへのアクセスを制御します

ユーザーが他のユーザーをお気に入りとしてマークできるモデルがあります。この HABTM 関係は User モデルで定義されます。

FavoritesController は、ユーザーのお気に入りを管理するために 3 つのアクション (index、create、destroy) のみを必要とします。

ルール: 認証されたユーザー (current_user) のみがお気に入りを管理できます。

最初に、authorization_rule.rb ファイルでこのルールを表現しようとしました。

これはおそらく、Favorite に明示的なモデル (つまり、favorite.rb) がないために機能しませんでした。私はこれについて間違っているかもしれませんが。

FavoritesController でルールを表すのが正しいアプローチのようです。

しかし、ここでルールを適切に表現する方法がわかりません。

支援は本当に感謝しています。

** 編集 **

この状況では、コンテキストを使用してアクセスを制御することが提案されました: モデルのないコントローラーのアクセス許可を設定します

FavoritesController を変更してみました:

この変更は効果がありませんでした。

** /編集 **

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

ruby-on-rails - rails - declarative_authorization allowed_to が正しく動作しない

リンクを非表示/表示するために permit_to を使用しようとしていますが、フォームの 1 つに表示されません。

フォームは課題に属していますが、実際の編集機能は候補者用です。

URL でページに移動できるので、承認の問題ではないことがわかります。

何か案は ?

ありがとう、アレックス

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

ruby-on-rails - declarative_authorization と authlogic を使用して current_user を決定する

authlogic を使用してユーザーを認証します。私のコントローラーでは、次のように (文書化されているように) 定義された current_user を使用します。

また、declarative_authorization を使用して現在のユーザーの権限を管理しています。通常のランタイム シナリオではすべて正常に動作しますが、" get_with" などの要求ステートメントを使用する機能テストを作成すると、コントローラーの current_user が nil になります。declarative_authorization テスト ヘルパー コードを調べたところ、このシナリオでは、declarative_authorization gem が実際に現在のユーザーを Authorization.current_user (Thread.current["current_user"] から取得) に格納していることがわかりました。そのため、現在のユーザーがさまざまなシナリオでどのように処理されるかについて、かなりの混乱があるようです。

私の質問: 通常のランタイムとテスト シナリオの両方で current_user を見つける適切な方法は何ですか?

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

ruby-on-rails-3 - 宣言型承認 filter_access_to

declarative_authorization を使用して Rails3 コントローラーを保護しようとしています。

コントローラーには、7 つの RESTful アクション、3 つのカスタム メンバー アクション (アクティブ化、非アクティブ化、コピー)、および 1 つのカスタム コレクション アクション (パブリック) があります。ただし、'public' アクションは 1 つのレコードしか返しません。

認証されたユーザーは、カスタム コレクション アクション (パブリック) のみを使用できる必要があります。残りは current_user のみが利用できます。

4 つのカスタム アクションは、routes.rb ファイルで定義されています。

ユーザー :has_many Foos; Foo :belongs_to はユーザーです。

FoosController で定義されている「標準」アクセス制御 (filter_resource_access :nested_in => :user) は、7 つの RESTful アクションへのアクセスを制御しているように見えますが、他の 4 つのアクションへのアクセスを制御できません (予想どおり)。

FooController を次のように変更すると:

「ID なしで Foo が見つかりませんでした」というエラーが表示されます。

質問:

  1. ドキュメントは、filter_access_to が使用されている場合、Foo モデルをロードするために :before_filter が自動的に呼び出されることを示唆しているようです。私は間違っていますか?filter_access_to の追加構成が必要ですか? :before_filter を手動で構成する必要がありますか?
  2. 私の目的のためにモデルに using_access_control を追加する必要がありますか? コントローラーにアクセス制御がある場合、いつモデルにアクセス制御を追加する必要があるのか​​ 少しわかりません。
  3. ドキュメントには、'create' という名前の特権が記載されています。これは次のように定義されています: 特権 :create, :includes => :new. さらに、:new アクションに加えて、この特権には、その名前の結果として :create アクションが自動的に含まれますか?
  4. authentication_rules.rb ファイルが変更された場合、新しいルールを適用するためにサーバーを再起動する必要がありますか?
0 投票する
3 に答える
1870 参照

ruby-on-rails - データベースを使用したRailsでの動的ロール認証。宣言型承認が最良の選択ですか?

動的な役割の割り当て(役割/特権)を提供する必要があります。より明確に言えば、エンドユーザーは役割を作成し、新しいユーザーにアクセス許可を割り当てることができる必要があります。そこで、ユーザーごとにロールと権限をテーブルに格納することを考えていました。

これを行うための賢い方法はありますか(他のプラグインはありますか?)、または宣言型承認を使用してこれを行うためのコードを作成する必要があります。いくつかの光が役立ちます。ありがとう!