問題タブ [acl9]

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 に答える
455 参照

ruby-on-rails - Acl9 関連付けテーブルの created_at 列の問題

ユーザーにロールを割り当てるときに、roles_users のテーブルの created_at 列がユーザーを 1 にしているように見える理由を理解しようとしています。独自の作成日を持つべきではありませんか? 何か役に立ちますか?

ruby-1.8.7-p174 > Time.now
=> Thu Feb 24 15:50:11 +0100 2011
ruby​​-1.8.7-p174 > User.last.has_role! "installer"
User Load (0.5ms) SELECT * FROM "users" ORDER BY users.id DESC LIMIT 1
Country Load (0.2ms) SELECT * FROM "countries" WHERE ("countries"."id" = 106)
Role Load ( 0.2ms) SELECT * FROM "roles" WHERE (name = 'installer' and authorizable_type IS NULL and authorizable_id IS NULL) LIMIT 1
Role Load (0.1ms) SELECT "roles".id FROM "roles" INNER JOIN "roles_users" ON " roles".id = "roles_users".role_id WHERE ("roles"."id" = 2) AND ("roles_users".user_id = 31) LIMIT 1
SQL (0.', ' 2010-09-16 14:11:24 ', 2, 31)
ロールのロード (0.5ms) SELECT * FROM "roles" INNER JOIN "roles_users" ON "roles".id = "roles_users".role_id WHERE ( "roles_users".user_id = 31 )
=> [#Role id: 2, name: "installer", authorizable_type: nil, authorizable_id: nil, created_at: "2010-09-16 14:11:24", updated_at: "2010 -09-16 14:11:24">]
ruby​​-1.8.7-p174 > Role.find_by_name("installer")
Role Load (0.3ms) SELECT * FROM "roles" WHERE ("roles"."name" = 'installer') LIMIT 1
=> #Role id: 2, name: "installer", authorizable_type: nil, authorizable_id: nil, created_at: " 2010-09-16 14:11:24 "、updated_at: "2010-09-16 14:11:24">

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

ruby-on-rails-3 - 実装による acl9 has_many

Rails コンソールで次の非推奨警告が表示されました。

問題はroles_users、オンラインのステップバイステップ チュートリアルに従って作成したテーブルにあります。

has_many :throughacl9 の関連付けを実装するにはどうすればよいですか? 特にuserroleモデルはそれぞれヘルパー メソッドのみを使用し、実際の を使用しないためhas_and_belongs_to_manyです。

これは彼らがどのように見えるかです:

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

ruby-on-rails - Rails におけるオブジェクトレベルの認可データベース構造

オブジェクト レベルで非常にきめ細かな承認が必要な Rails アプリケーションを作成しています。他のシステムは acl9 や declarative_authorization などのプラグインを使用していますが、独自のプラグインを実装したいと考えています。私は次のデータベース構造を念頭に置いており、これがレールのベストプラクティスから逸脱するかどうか疑問に思いました.

http://www.pastie.org/2496489

ポインタ/アドバイス、または潜在的な問題は大歓迎です。

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

ruby-on-rails - ロール/crud アクションごとの Rails 構成可能な承認

ユーザー権限を処理するために既に declarative_authorization を使用している Rails 2.3 アプリを使用しています。各ユーザーは、特定のモデル (ほとんどは通常の CRUD アクションですが、いくつかの特別なアクション) に対するアクセス許可を持つ 1 つのグループ (特別な役割ではありません) に属しています。これはすべて、通常のすぐに使用できるモードの declarative_authorization で正常に機能します。

モデル タイプに関して、管理者が特定のユーザー グループに権限を設定できるようにしたいと考えています。たとえば、新しいグループ Foo を作成し、それに何人かのユーザーを割り当て、グループ Foo のユーザーがモデル Bar のオブジェクトを c/r/u/d できるかどうかをチェックボックスで決定します。

以前に acl9 を使用したことがあり、それを機能させる方法がわかったと思います。私は最近、CanCan のファンになっていますが、それを簡単に行う方法がわかりません。declarative_authorization でこれができるのであれば、私はそれを使い続けますが、弾丸をかじって切り替える準備はできています。

これを達成するための最良の方法はどのプラグインでしょうか? 仕事をするために declarative_authorization を取得する方法はありますか? CanCan のエレガントな使い方は?データベースのパフォーマンスなど、注意すべき点はありますか?

このアプリを Rails 3.1 にアップグレードすることは納得できますが、2.3 互換のソリューションを見つけたいと思っています。

同様の質問をいくつか見ましたが、満足のいく回答はありません Rails Dynamic Role-Based Authorization plugin?

これは、cancan の場合 https://github.com/ryanb/cancan/wiki/Role-Based-Authorization

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

ruby-on-rails - cancan でフィールド アクセスを制御する方法

アップロードされた画像へのパスであるフィールドを持つBookモデルがあります。cover

ただし、ユーザーが特定のユーザー レベルでない場合は、表紙のアップロードを制限したいと考えています。

CanCan でこれを行うにはどうすればよいですか、それとも acl9 を使用する必要がありますか?

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

ruby-on-rails - Web サービスでの Rails 認可

私の Rails アプリは、いくつかの Web サービスのフロントエンドです。私は自分の User モデルを永続化します。それだけです。認証に Devise を使用して、Web アプリに承認を追加する必要があります。CanCan と acl9 は主に ActiveRecord モデルのインスタンスで動作するようです。CanCan または acl9 はまだ私のニーズに合っていますか? 私の状況でこれらのライブラリのいずれかを使用するためのヒントはありますか?

インスタンスではなくアクションで機能するものを探す必要がありますか?

また、これらはどちらも役割ベースのシステムであり、権限ベースのシステムを使用することを考えています。彼らはまだぴったりですか?

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

ruby-on-rails - RubyonRailsでの不明な部門/セクション数のモデリング

Ruby on Railsでは、がに属している可能性があり、がに属している場合とEmployee属していない場合がある状況をどのようにモデル化できますか。未知数のレベルを処理できるモデルのセットを探しています。そして、最も直接的なレベルを見つけ、それぞれに独自の管理者がいます。SectionSection SectionOrganizationEmployeeSection

承認にacl9を使用したいのですが、レベル数が不明な場合にこれがどのように行われるかを理解できません。

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

ruby-on-rails-3.2 - acl9はcreated_atを埋めません

私はacl9Readmeに正確に従い、すべてを再確認しましたが、を使用しようとすると次のエラーが発生しますhas_role!(:admin)

唯一の落とし穴は、私がRails 3.2を使用していて、エラーに対して次の修正を使用したことです。Rails3.2の未定義のメソッド`key? ' nilの場合:NilClass

助言がありますか?

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

ruby-on-rails - acl9 を使用して管理者としてユーザーとその役割を管理する方法

acl9 を使用してユーザー ロールを管理するための最善の方法は何かお考えですか?

必要性は次のとおりです。

  • 管理者は、ユーザーの役割を更新できる必要があります。

問題は次のとおりです。

  1. すべてのサブジェクト ロールを一覧表示するにはどうすればよいでしょうか。:管理者、:管理者
  2. API エンドポイントを RESTful に保つために、理想的には user_controller の update メソッドでロール パラメータを渡したいと思います。
  3. ユーザー オブジェクトの所有者が自分の first_name フィールドと last_name フィールドを変更できるが、role フィールドは変更できないように、role プロパティだけを承認するにはどうすればよいですか? 管理者のみが許可されます。

access_controlブロックの外側でパラメーターを手動で確認できます。

しかし、よりクリーンなソリューションがあるかどうかを確認すると思いました。

RoleTypes.ADMIN最後に、 のRoleTypes.MANAGER代わりに , のようなものを使用することは可能で賢明:adminですか? もしそうなら、これを行う最善の方法は何ですか?また、そのクラスはレールアプリ全体でアクセスできますか?