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

ruby-on-rails - このユーザー権限の設定は理にかなっていますか?

私はRails 3アプリを構築しており、Companyユーザーがそれぞれの特定のロールを決定する洗練されたユーザー権限ツールの設計に取り組んでいますPM.

このシナリオを想像してみてください。会社は、3 種類のデータに対して特定の役割を確立したいと考えています。

  • プロジェクト表
  • クライアントテーブル
  • 企業アカウント (つまり、企業テーブル)

これらのフィールドを持つ Role ポリモーフィック テーブルを追加することを考えています。

  • user_id (all_users == true でない限り、このロールが適用されるユーザー)
  • 項目タイプ (all_items == true でない限り、「プロジェクト」、「クライアント」、または「会社」など)
  • アイテム ID (上記のとおり)
  • 役割 (「読み取り」、「編集」、「破棄」、さらには「カスタム」など)
  • all_users (ブール値: このアイテムの役割はすべてのユーザーに適用されますか)
  • all_items (ブール値: このユーザーの役割はすべてのアイテムに適用されますか)
  • company_id (この役割を「所有」している会社)

CanCan はこれを達成するための優れた無駄のない方法だと思いますが、ここで私の質問です。1. 上の表はこれを行うのに適した方法ですか? 2. CanCan はこれと連携して効果的なソリューションを作成できますか?

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

ruby-on-rails - Rails 3: ユーザーにロールを追加する

認証エンジンとして cancan を使用しています。

私はすでにユーザーに役割を持っています:

ロールを追加して確認する方法もあります。

そして、私は# roles_mask :integerUser モデルにあります。

ただし、after_save :add_normal_roleユーザーに通常の役割を割り当てる が必要です。

基本的に、各ユーザーに役割を割り当てる方法がわかりません。

これは私が持っているものですが、動作しません:

ありがとう

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

ruby-on-rails - 単純なカンカン問題

CanCan を使い始めたばかりで、コードのサンプルは次のとおりです。

これは CanCan の github リポジトリからのものですが、これは機能していないようです (false を返し、...コードの実行を停止します)。

ビューを に変更すると<% if can? :read, Link %>、機能します。ただし、これは CanCan の readme とは異なります。ここでどこが間違っているか知っていますか?

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

cookies - サブドメイン Cookie による認証により、他のサブドメインに簡単にアクセスできます

Rails 3、devise、cancan を使用しています。Cookie をサブドメイン固有に設定し、サブドメインとユーザー名を認証キーとして使用します。

すなわち

そのため、特定のサブドメインでユーザーを認証すると、そのユーザーは他のサブドメインにアクセスできません。彼の Cookie セッション (firebug) を編集し、Cookie のドメインを変更 (つまり、foo.mydomain.com から fee.mydomain.com に変更) すると、ユーザーは新しいサブドメインへのアクセスを取得します。

cancanでアクセスをブロックできることはわかっていますが、理想的には認証によってユーザーを制限したいと考えています。どういうわけか、もう少し安全に感じられ、必要な構成が少なくなります (ability.rb の行が数行少なくなります)。

この死んだ単純なハッキングを防ぐ方法はありますか?

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

ruby-on-rails - Railsで企業\シングルユーザーアカウントの認証\承認システムを設定するための最良のアプローチは何ですか?

複数のタイプのユーザーがいるWebサイトをセットアップしています。たとえば、AmazonやCDWについて考えてみましょう。個人のアカウントがあり、一般の人は本やコンピューターを購入できます。また、企業のアカウントもあり、購入できる複数のサブユーザーと、アカウント全体の支出を追跡できるスーパーバイザー/スーパーユーザーがあります。サブユーザーのアカウントを作成するか、アカウントに新しいサブユーザーを追加します。

ここで自分のシステムを展開することはできますが、CanCanまたは同様の認証システムと組み合わせてdevise、authlogic、restful_authenticationなどから始める方がよいでしょうか。それとも、すでにこのようなものがありますか?誰かがこのようなものを設定した経験がありますか?警告は何ですか?

ありがとう

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

ruby-on-rails - RSpec初心者:Devise / Cancanにより、他の方法で機能しているコントローラー仕様が失敗する

RSpecコントローラーの仕様を通過させようとしています。これは、ユーザーが最初にデバイスにサインインすることを除いて、scaffoldで生成された仕様とほぼ同じです。コントローラ(権限をチェックする)から「load_and_authorize_resource」を無効にすると、すべてが正常に機能しますしかし、行を元に戻すと、次のように失敗します。

仕様がユーザーに正しくログインしていないと想定していましたが、puts current_user.role.nameは、ユーザーが正しくログインしており、必要な役割を持っていることを確認します。ブラウザで実際のプロセスを実行すると、希望どおりに機能することが確認されます。

誰か提案がありますか?私はかなり困惑しています。以下のコントローラー:

...そしてスペック

...そして仕様のサポートのもの:

どうもありがとう...

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

ruby-on-rails - Rails3-CanCan-初期化されていない定数Ability::Page

Rails3アプリにcancan1.5.0を追加しました。これが私の能力ファイルです-

カスタムクラスがあります(安らかな機能ではありません)

ご覧のとおり、私は安らかなクラスではない正しい関数を使用していますが、それでもこのエラーが発生します-

これがスタックトレースの始まりです-

ありがとう、アレックス

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

ruby-on-rails - Rails 3: プライバシー機能の処理

私のアプリの一部は、すべてのユーザー アクションをフィードに書き込む責任があります。ただし、ユーザーが自分のプライバシー機能を制御できるようにしたいと思います (フィードへの送信を停止する、一部のアクションのみを送信するなど)。

それを行う最善の方法は何ですか?Cancan などを使用して、さまざまなプライバシー オプションに役割を与えますか?

ありがとう

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

ruby-on-rails-3 - 「未定義のメソッドロール」でエラーが発生する可能性がありますか?Deviseで

ねえ、私はあなたが私を助けることができることを願っています:

私はこのチュートリアルを行っていました

http://www.tonyamoyal.com/2010/07/28/rails-authentication-with-devise-and-cancan-customizing-devise-controllers/そして私はすべてのステップを段階的に実行しました。

役割をどこに配置するかがよくわかりませんでしたか?-チュートリアルの方法では、どこに配置するかが指定されていないためです。

サインアップまたはサインインするときにこのエラーが発生するようになりました

どうもありがとう

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

ruby-on-rails-3 - CanCan ポリモーフィック リソース アクセスの問題


この特定のケースで CanCan を使用してリンクへのアクセスを制限する方法がよくわかりません。「編集」リンクが常に表示されます。したがって、問題はcancanメソッド(load_およびauthorize_)の誤った定義にあると思います。私はそのような CommentsController を持っています:

そして私は他のコントローラからファイルをレンダリングする次のコードをcomments/index.html.erbに持っています:

この場合、「#{get_commentable_partial_name(@commentable)}」は単なる「記事」のように考えることができます。「articles/show.html.erb」の内容:

私の能力.rb:

私はそのようにこの問題をデバッグしようとしました

そして、私は常に能力チェックで「=> true」を取得します

注: user.role == 作成者および article.user_id != user.id

さらに情報が必要な場合は、書いてください

お時間をいただきありがとうございます && 私の英語で申し訳ありません