問題タブ [cancan]

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

ruby-on-rails - Rails 3 でマルチテナンシーを処理する最良の方法

マルチテナントアプリケーションを構築しています。

すべてのデータ分離は、各テーブルの TenantID 列によって行われます。

すべてのテナント モデルのマルチテナンシーを自動的に処理する最善の方法は何ですか。

例:

現在、特定のユーザーパラメーターのレコードを取得できる CanCan gem でこのようなものを見ています。ただし、挿入および更新操作には何も提供していません。あるいはやり方が分からないのかもしれません。

よろしく、アレクセイ・ザハロフ。

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

ruby-on-rails - MongoidとCanCanを統合する

誰かがMongoidのCanCanActiverRecordAddtionsを書き直そうとしたことがありますhttp://github.com/ryanb/cancan/blob/master/lib/cancan/active_record_additions.rb

よろしく、アレクセイ・ザハロフ

0 投票する
3 に答える
2856 参照

ruby-on-rails - 許可されたビュー要素を表示できません

Railsを使用してdevise/cancanで基本認証/承認を取得しようとしています。Ryan Bのスクリーンキャストやその他の例のような役割を使用するのではなく、基本的なことをしようとしています。

1-ユーザーはログインできます
2-ユーザーは自分の記事のみを編集/破棄できます(役割はありません。ログインして新しい記事を作成して自分の記事を編集/破棄できるか、ログアウトして自分だけができます記事を見てログイン)

私は最初の部分にdeviseを使用していて、それはうまく機能していますが、2番目の部分をCanCanで機能させることができません。ログインすると、記事の編集リンクと破棄リンクは表示されません。また、記事が別のユーザーのものであっても、直接URL(/ articles / 3 / editなど)で許可されます。

ability.rb

articles_controller.rb

記事を一覧表示する部分ビュー_article_list.html.erb

この設定では、ビュー内の編集/破棄リンクは、ブランケットがない限り表示されずcan :manage, :allcan :manage, Article機能しません。上で述べたように、記事の編集に直接ディープリンクすることができ、それが許可されるため、実際のアクションを制限することもありません。

ここで何が間違っているのかわかりません。助けを得るのは素晴らしいことです。

よろしくお願いします
ジェイソン

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

ruby-on-rails - Cancan を使用して、単一のモデルの特定の値へのアクセスを制限できますか?

カテゴリを持つ Rails 3 アプリケーションがあります。カテゴリは、カテゴリ所有者の役割を持つユーザーが管理できます。ただし、カテゴリ所有者は、自分が所有するカテゴリにのみアクセスでき、他のカテゴリにはアクセスできない必要があります。CanCan を使用して管理機能をロックダウンできますが、特定のカテゴリ自体を制限する必要があります。

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

ruby-on-rails - CanCan でアクセスを拒否する理由を指定する

私は Rails の認可 gem CanCanがとても気に入っています。しかし、特定の特権に複数の条件があることに気付き、ユーザーがアクセスを拒否された理由に応じて、ユーザーにさまざまなエラー メッセージを表示できるようにしたいと考えています。

CanCan にはそのような動作のメカニズムがありますか? 見つからなくて困っています。それをフォークして、その動作を自分で追加する必要がありますか?

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

ruby-on-rails - ユーザーが許可されたセクションにアクセスしようとした場合にRailsでログインモーダルを表示する方法

ユーザーが許可されたコンテンツにアクセスしようとするたびに、「このエリアにアクセスするには、ログインする必要があります..」というモーダル ウィンドウを、その下のログイン フォームと組み合わせてどのように実装しますか。Rails 3、Devise、および CanCanを使用しています。

私の最初の考えは、それを application_controller.rb のどこかに置くことでした:

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

ruby-on-rails - Railsはネストされたリソースを承認できます

ユーザーリソースにネストされたプロジェクトリソースがあります。

私のCancanAbilityクラスは次のとおりです。

およびプロジェクトコントローラー:

いくつか質問があります:

:read Userを拒否し、:read Projectを許可して、全員が/ users / 10 / projectsにアクセスできるようにすることはできますが、/ users /10や/usersにはアクセスできませんか?

他のuser_idで:newアクションにアクセスするユーザーを拒否するにはどうすればよいですか?たとえば、私が追加した場合

このコードにより、ID42のユーザーは/user / 41 / projects/newにアクセスできます。

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

ruby-on-rails - inherited_resources と cancan の競合

inherited_resources と Ryan Bates の cancan gem と競合があります。

私はいくつかの単純なコントローラーを持っています

とルート

すべてが正しいように見えますが、http://localhost:8080/issues/tag/tag1 をリクエストしようとすると、

コントローラーから load_and_authorize_resource を削除した後 - すべて正常に動作しますが、アクセス制御が必要です。

この問題を解決する方法はありますか?

0 投票する
5 に答える
3855 参照

ruby-on-rails - CanCanを介して承認された、コントローラーのテスト中のDRYの維持

Railsプロジェクト用に、RSpecを使用していくつかのテストをさかのぼって作成しています。

CanCangemを使用して認証を提供しています。ability.rbモデルをテストするスペックを書くことにしました。その後、残りのモデルをテストしました。

私はコントローラーに移りました、そして私は巨大な障害に遭遇しました:私は自分の能力をもう一度テストしています!

基本的に、私は一連のモデルをスタブ化し、それらの関連付けをスタブ化する必要があります。それ以外の場合、応答は単にを返します403 Forbidden
その理由は、基本的にはコントローラーが認証の心配をしているからです。

ここからどこへ行けばいいのかよくわかりません。1つのテストを作成するために、最大6つのモデルをスタブします。私は能力が機能することを知っています、それability_spec.rb目的です。

したがって、この質問は実際には2つあります。

  1. 能力モデルを個別にテストする必要がありますか?
  2. コントローラのテストは適切な権限に関係する必要がありますか?

Edit require'spec_helper' include Devise :: TestHelpers#スペックにヘルパーへのアクセスを許可する

ありがとう、
ロビー

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

ruby-on-rails - RoR3でカスタム認証ロールを作成する方法

cancanやdeclarative_authorizationなど、非常に優れた承認ジェムがいくつかあります。しかし、ここに問題があります。承認ルールはクラスで分離されていますが、最終的に管理パネルで変更するには、それらをテーブルまたはyaml構成ファイルに配置する必要があります。完全に、管理パネルでユーザーグループと個々のユーザーの許可を変更できる場合。解決策はありますか?