問題タブ [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 投票する
1 に答える
764 参照

ruby-on-rails-3 - gem"bullet"を使用して"declarative_authorization"gemのN+1クエリを修正

現在、私は1つの大きなWebアプリケーションに取り組んでおり、それをより高速に動作させるために、すべてのN + 1クエリをリファクタリングすることにしました(データベースへのリクエスト数を減らすために、http://rails-bestpractices.com/posts/29-fix-n -1-クエリ)。そこで、Rails 3.1.1では動作しないgem「bullet」をインストールしました(https://github.com/flyerhzm/bulletからフォークを使用できます)。各ページでdeclarative_authorizationgemを使用すると、同じアラートが表示されます。

それを手伝って、このクエリを高速化していただけませんか?

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

ruby - 宣言型認証を使用したAuthlogic-ビューにユーザーロールを表示する方法は?

私は宣言型の役割、RyanBatesの「railscast」チュートリアルを使用しています。ログインしているユーザーの役割をビューに表示したいと思います。ロールの名前を表示するために使用できる変数はありますか?

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

c# - 多くの役割を担うカスタム CodeAccessSecurityAttribute

アプリのロールベースのセキュリティに取り組んでおり、基本的にカスタマイズされたバージョンの MVC を実行したいと考えていますAuthorizeAttributeが、MVC にリンクしていないビジネス ロジック レイヤーでのみ実行します。

見ましたPrincipalPermissionAttributeが、封印されているのでカスタマイズする方法はないようです。複数の属性を使用せずにロールのリストのメンバーシップをチェックできるカスタム バージョンを作成し、ロール メンバーシップを探す場所を定義したいだけです。

私が行方不明になっている.Netにこのようなものはありますか? または、ASP.Net の AuthorizeAttribute/RoleProvider/etc を再実装せずにこれを行う方法について洞察を持っている人はいますか?

編集

私は現在、命令型バージョンを実行していますが、メソッド/クラスの上にある方が見やすいので、宣言型属性バージョンを使用したいと考えています。

現在、ビジネス層の抽象基本クラスに次のものがあります。

ロール名がひどいので(Active Directoryグループベース...)などを使用できるのが好きなRoles.Administratorので、クラス/メソッドの上に配置できるカスタム属性のコンストラクターにそれらの詳細をラップすることを考えていました.

GetAccountRolesこれは、AD またはデータベースを使用するテスト バージョンのいずれかを使用するように設定できます。

をサブクラス化できAttributeましたが、セキュリティ チェックを開始する方法がわかりません。

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

ruby - すべてのユーザーに declarative_authorization を設定する方法

私はこれらの2つのモデルを持っています:

declarative_authorizationそして、役割のこの設定:

そして、彼がアップロードした画像をユーザーに表示できるようにしたい-彼の画像のみ。たとえば、次のようになります。

そして、ユーザーが url を設定すると、この画像は数字で/photos/1のみ表示され、がこのアドレスを表示すると、画像は表示されません...user_id1user_id=2

このようなことは可能ですか?

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

ruby-on-rails - rails declarative_authorization、特定の権限を持つロールを見つける

異なる条件下で同じアクションを実行できるロールがいくつかあるとします。例えば:

方法はありますか - current_user が許可されている場合 - これが真であるロールを知る方法はありますか (current_user が両方のロールを持っている場合)?

どうもありがとう。

(http://www.tzi.org/~sbartsch/declarative_authorization/master/ は declarative_authorization ドキュメントの URL です... 探し回っていますが、必要なものが見つかりません)

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

ruby-on-rails-3 - Rake gems: 宣言型承認に従ってインストールするとエラーが発生する Railscast

Rails 3 アプリ (Ruby 1.9.2 を使用) で宣言型承認を実行するために Railstcast #188 に従っていますが、gem をインストールする際に問題が発生しています。

Ryan はconfig/environment.rb、次のように追加することを提案しています。

次に、でインストールしsudo rake gems:installます。

ただし、それを試みると、エラーが発生します。

を試しrake gems:installましたが、次のエラーが発生しました。

GitHubで declarative_authorization をインストールする手順では、別のプロセスを推奨していrake:gems installます。

これを回避できるように、何が起こっているのか知っている人はいますか?

更新: config/environment.rb は次のようになります。

RVM -v: rvm 1.10.0-pre Gem リスト:

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

ruby-on-rails-3 - if_attribute の確認方法 :id => is_in { 再帰メソッドからの ID の配列 }

リソースがさまざまな場所に属することができるリソース データベースがあります。ユーザーとグループ (自己参照ユーザー テーブル) は、異なる場所で異なるロールを持つことができます。グループは、他のグループ内に存在できます。承認は、'if_attribute' を使用して、ユーザーが表示、編集などを許可されている location_id の中に location_id があるかどうかを確認する単一ユーザーに対してうまく機能します。

グループは相互に「ネスト」できるため、すべての「正当な」ロケーション ID を見つけるには再帰的な方法を使用する必要があると考えました。私はこれを試しました:

'authorization do' ルーチンの外で定義されたメソッドを使用:

問題は、メソッド呼び出しでメソッドが見つからないことです。次のエラーが表示されます。

NoMethodError (未定義のメソッド `find_group_location_ids' for (Authorization::Engine::AttributeValidator:0x7fb63448e2b0)

メソッド定義をさまざまな場所に配置しようとしましたが、うまくいきませんでした。

if_attribute を使用して、id が再帰メソッドからの配列内にあるかどうかを確認するにはどうすればよいですか?

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

ruby-on-rails - Rspec と Declarative Authorization: ダミー アプリのルールがテストで機能しない

authlogic と宣言型承認を使用する gem の統合テストを試みています。ダミー アプリでカスタム コントローラーを確認するために、新しい spec/dummy/config/authorization_rule.rb ファイルを作成しました。

テスト環境 (rails s -e test) でサーバーを起動すると、すべてが期待どおりに動作します。しかし、カピバラでテストを実行すると (rack_test、selenium、または webkit を使用しているかどうかは関係ありません)、カスタム ルールが読み込まれず、テスト ユーザーがコントローラーにアクセスする権限がありません。

Declarative Authorization の組み込みの test-helper without_access_control は、rack_test では機能しますが、js=true では機能しません。

何か案は?これは「宣言型」であるため、その場で (実行時に) アクセス許可を追加することはできません。それともとにかく可能ですか?

アイデアをありがとう!

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

javascript - リッチブラウザベースのJavaScriptWebアプリ用のロールベースの宣言型認証フレームワークはありますか?

私が他のことを言う前に:はい、私は承認がサーバー側で行われる必要があることを知っています。それでも、クライアント側のアプリは、ログインしているユーザーに適用されないGUI要素を非表示にする必要があります。

そうは言っても、ここに質問があります。リッチなブラウザーベースのJavaScript Webアプリ用の役割ベースの宣言型承認フレームワークはありますか?

背景:ブラウザーベースのJavaScript Webアプリ(GWT、ExtJSなど)では、アプリ全体を静的ファイルとしてダウンロードでき、すべてのビュー遷移がブラウザーで行われるため、通常、動的なサーバー側のビューを生成する必要はありません。したがって、役割ベースのセキュリティを実装するには、ユーザーがログインしてアプリを読み込んだ後、動的なGUIをカスタマイズするか、ログイン後にクライアントに何かをダウンロードする前にサーバー側でアプリのファイルを動的に生成する必要があります(ビルドしてキャッシュすることもできます)。 )。このSOの質問では、これらのアプローチについて説明しています。ロールベースのアプリケーションにExtJSを使用する方法

ありがとう!

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

ruby-on-rails - 宣言型承認はif_attributeをネストしました

宣言型承認とネストされたif_attributesのドキュメントを理解するのに少し苦労しています。

モデル:

私のルール:

私の階層には、自分の会社とすべての部門およびユーザーの編集を許可する必要があるcompany_adminロールが定義されています。会社の管理者の上に別の役割があり、会社を完全に編集および追加する機能と、以下のすべての役割があります。

私がハングアップしているように見えるのは、上記のルールです(これは正しくないことはわかっていますが、例としては単なるフィラーです)。現在のユーザーは自分の会社のみを編集でき、他の会社は編集できないことを確認する必要があります。これはネストされたif_attributeのようですが、ドキュメントのネストされたif_attributesの例を理解できないようです。

よろしくお願いします!