問題タブ [cancancan]

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

devise - 役割ベースのルート認証

認証と承認にはdeviseとcancancanを、バックグラウンドジョブにはresqueを使用しています。私は Ryans のスクリーンキャスト番号 271 をフォローしており、routes.rb ファイルのコード スニペットの下を見ました。

認証されたユーザーに、しかし私の場合、私はユーザーテーブルしか持っておらず、管理者も役割列で区切られたユーザーです. 今、私はユーザーの役割に基づいてresqueサーバーパスのルートを認証および承認したいと思います. どうすればこの問題の解決策を達成できますか. ?

ログインしたユーザーには問題なく動作しますが、管理者ユーザーのみがアクセスできるようにしたいです。どんな助けでも心から感謝します。

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

ruby-on-rails - 役割を持つRails 4認証モデル

私はRailsの世界の初心者なので、ここで答えを見つけられることを願っています. 私が取り組んでいるプロジェクトには、単純なユーザーと管理者のために、役割を持つユーザー認証が必要です。管理者権限を使用して、単純なユーザーのパスワードをリセットしたり、役割を追加したりしたいと考えています。

cancancan gems を使用して Devise を適用しようとしましたが、残念ながら機能しませんでした。それが可能かどうかもわかりません。だから私の質問は、そのような動作をするためにどの宝石をお勧めしますか. それとも、ゼロから始める方が簡単ですか?

回答ありがとうございます。

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

ruby-on-rails - CanCanCan gem with Devise + Omniauth Ruby on Rails

私は Omniauth + Devise 認証システムを使用しており、ユーザーは電子メール + パスワードまたは Google+ アカウントで登録できます。

CanCanCan gemを使用して、ログインしているユーザーがログイン後の領域に移動する権限を持っているかどうかを確認する必要がありますが、その条件をどこで実行できるかわかりません.Deviseはログイン成功後のリダイレクトをどのファイルに保存しますか関数?

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

ruby-on-rails - ネストされたリソースの Cancancan 承認

「多くの」ユーザーと「多くの」メーターを持つアカウント モデルがあります。Meter オブジェクトには account_id 列があるため、Cancancan でこの機能を簡単に定義できます。

ただし、メーターには「多くの」パラメーターもあります。パラメータがユーザーと同じアカウントに属するメーターに属している場合にのみ、CRUD アクセスを許可して、同様の機能定義を行いたいと考えています。

Parameter モデルには meter_id 列しかない (account_id 列ではない) ため、この追加レベルのネストを実現する最善の方法がわかりません。

編集

不明確で申し訳ありません。

私のモデルは次のとおりです。

したがって、user.account_id = meter.account_id かどうかを確認できますが、パラメーターを確認する方法がわかりません。

編集 2

マットの答えと同様に、それは単純に次のものを含める場合です。

パラメータモデルで。

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

ruby-on-rails - Rails4 で authlogic を使用して cancancan を使用する際の問題に直面しています。

私の宝石ファイルで。私は自分の能力でこれを与えました.rb

私のアプリケーションコントローラーには次のものがあります。

従業員でログインしている場合にパスワードの変更リンクを通過すると、パスワードを変更することはできません。これを password_resets_controller.rb で指定しました

このエラーが発生しています

ここに画像の説明を入力

これを解決する方法を教えてください。前もって感謝します。

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

ruby-on-rails - Github スタイルの権限 - マルチテナントまたは複雑な権限?

Rails 4、Postgres、Devise を使用してマルチテナント アプリケーションを構築しています。パーティショニングに使用されているテナントとして機能し、認証のための工夫を行います。私は承認スキームを選択していませんが、Pundit に傾倒しています。

外部ユーザーを許可する機能のリクエストがありましたが、これらのユーザーは別のテナントのメンバーである可能性があります。A 社がドキュメントを作成しているとします。会社 B のユーザーと共同作業を行いたいと考えています。会社 B の特定のユーザーは、共同作業している会社 A 内の特定の 1 つのドキュメントと、会社 B のすべてのものにのみアクセスできる必要があります。

Github は、この種の機能の優れた仕事をしており、優れた権限を持つ aribtray ユーザーをプロジェクトに追加できます。

では、具体的な質問をいくつか。これには、マルチテナント スキームを放棄し、やや複雑な承認スキームを使用する必要がありますか。act_as_tenant がやや不変のデータ パーティションを提供したため、断念しました…</p>

もしそうなら、Punditが推奨されるアプローチ(おそらくCAnCanCan)でしょうか、それとも他に見るべき場所がありますか?

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

ruby-on-rails - undefined method `total_pages' - load_and_authorize_resource を使用する場合

承認にcancancanを使用しています。また、テーブルのページネーションにwill_paginateを使用しています。コントローラーに load_and_authorize_resource を追加するまでは問題なく動作します。コントローラーで load_and_authorize_resource を使用すると、will_paginate はActionView::Template::Error (undefined method#)` に対して total_pages をスローします: Abilyty.rb:

コントローラ:

意見: