問題タブ [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.
ruby-on-rails - Rails 3 でマルチテナンシーを処理する最良の方法
マルチテナントアプリケーションを構築しています。
すべてのデータ分離は、各テーブルの TenantID 列によって行われます。
すべてのテナント モデルのマルチテナンシーを自動的に処理する最善の方法は何ですか。
例:
現在、特定のユーザーパラメーターのレコードを取得できる CanCan gem でこのようなものを見ています。ただし、挿入および更新操作には何も提供していません。あるいはやり方が分からないのかもしれません。
よろしく、アレクセイ・ザハロフ。
ruby-on-rails - MongoidとCanCanを統合する
誰かがMongoidのCanCanActiverRecordAddtionsを書き直そうとしたことがありますhttp://github.com/ryanb/cancan/blob/master/lib/cancan/active_record_additions.rb
よろしく、アレクセイ・ザハロフ
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, :all、can :manage, Article機能しません。上で述べたように、記事の編集に直接ディープリンクすることができ、それが許可されるため、実際のアクションを制限することもありません。
ここで何が間違っているのかわかりません。助けを得るのは素晴らしいことです。
よろしくお願いします
ジェイソン
ruby-on-rails - Cancan を使用して、単一のモデルの特定の値へのアクセスを制限できますか?
カテゴリを持つ Rails 3 アプリケーションがあります。カテゴリは、カテゴリ所有者の役割を持つユーザーが管理できます。ただし、カテゴリ所有者は、自分が所有するカテゴリにのみアクセスでき、他のカテゴリにはアクセスできない必要があります。CanCan を使用して管理機能をロックダウンできますが、特定のカテゴリ自体を制限する必要があります。
ruby-on-rails - CanCan でアクセスを拒否する理由を指定する
私は Rails の認可 gem CanCanがとても気に入っています。しかし、特定の特権に複数の条件があることに気付き、ユーザーがアクセスを拒否された理由に応じて、ユーザーにさまざまなエラー メッセージを表示できるようにしたいと考えています。
CanCan にはそのような動作のメカニズムがありますか? 見つからなくて困っています。それをフォークして、その動作を自分で追加する必要がありますか?
ruby-on-rails - ユーザーが許可されたセクションにアクセスしようとした場合にRailsでログインモーダルを表示する方法
ユーザーが許可されたコンテンツにアクセスしようとするたびに、「このエリアにアクセスするには、ログインする必要があります..」というモーダル ウィンドウを、その下のログイン フォームと組み合わせてどのように実装しますか。Rails 3、Devise、および CanCanを使用しています。
私の最初の考えは、それを application_controller.rb のどこかに置くことでした:
ruby-on-rails - Railsはネストされたリソースを承認できます
ユーザーリソースにネストされたプロジェクトリソースがあります。
私のCancanAbilityクラスは次のとおりです。
およびプロジェクトコントローラー:
いくつか質問があります:
:read Userを拒否し、:read Projectを許可して、全員が/ users / 10 / projectsにアクセスできるようにすることはできますが、/ users /10や/usersにはアクセスできませんか?
他のuser_idで:newアクションにアクセスするユーザーを拒否するにはどうすればよいですか?たとえば、私が追加した場合
このコードにより、ID42のユーザーは/user / 41 / projects/newにアクセスできます。
ruby-on-rails - inherited_resources と cancan の競合
inherited_resources と Ryan Bates の cancan gem と競合があります。
私はいくつかの単純なコントローラーを持っています
とルート
すべてが正しいように見えますが、http://localhost:8080/issues/tag/tag1 をリクエストしようとすると、
コントローラーから load_and_authorize_resource を削除した後 - すべて正常に動作しますが、アクセス制御が必要です。
この問題を解決する方法はありますか?
ruby-on-rails - CanCanを介して承認された、コントローラーのテスト中のDRYの維持
Railsプロジェクト用に、RSpecを使用していくつかのテストをさかのぼって作成しています。
CanCangemを使用して認証を提供しています。ability.rbモデルをテストするスペックを書くことにしました。その後、残りのモデルをテストしました。
私はコントローラーに移りました、そして私は巨大な障害に遭遇しました:私は自分の能力をもう一度テストしています!
基本的に、私は一連のモデルをスタブ化し、それらの関連付けをスタブ化する必要があります。それ以外の場合、応答は単にを返します403 Forbidden。
その理由は、基本的にはコントローラーが認証の心配をしているからです。
ここからどこへ行けばいいのかよくわかりません。1つのテストを作成するために、最大6つのモデルをスタブします。私は能力が機能することを知っています、それがability_spec.rb目的です。
したがって、この質問は実際には2つあります。
- 能力モデルを個別にテストする必要がありますか?
- コントローラのテストは適切な権限に関係する必要がありますか?
Edit require'spec_helper' include Devise :: TestHelpers#スペックにヘルパーへのアクセスを許可する
ありがとう、
ロビー
ruby-on-rails - RoR3でカスタム認証ロールを作成する方法
cancanやdeclarative_authorizationなど、非常に優れた承認ジェムがいくつかあります。しかし、ここに問題があります。承認ルールはクラスで分離されていますが、最終的に管理パネルで変更するには、それらをテーブルまたはyaml構成ファイルに配置する必要があります。完全に、管理パネルでユーザーグループと個々のユーザーの許可を変更できる場合。解決策はありますか?