問題タブ [declarative-authorization]

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

ruby-on-rails - 宣言型認証を使用する

宣言型認証を使用して、自分のサイトへのアクセスを制御しようとしています。しかし、filter_resource_accessを使用すると、このエラーが発生します。また、デフォルトの役割をサブスクライバーにする方法を見つけようとしていました

「admin」の未定義のメソッド`name':String

ユーザーモデル

チャネルコントローラー

authentication_rules.rb

webrickエラー

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

ruby-on-rails - 宣言型認証、ユーザーを登録できません

宣言型認証を使用していますが、リンクをクリックしてユーザーを登録すると、そのページを表示することは許可されていないと言われます。私はゲストに全能を与えるときにもこれを手に入れます。

authentication_rules

ユーザーコントローラー

レイアウトビュー

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

ruby-on-rails - 作成後、役割を設定します

after_createを使用して、デフォルトのユーザーロールをサブスクライバーに設定しようとしています。しかし、それは何の変更も加えていないようです。新しいユーザーの役割は常に[""]です。

ユーザーモデル

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

ruby-on-rails - declarative_authorizationとユーザーコンテキスト

Rails3アプリで宣言型認証を使用することを計画しています。私は次のモデル関係を持っています:

ここでの概念は、さまざまなデータセットをさまざまなコンテキストにセグメント化することです。ただし、特定のユーザーは、コンテキストごとに異なる役割を持つ場合があります。たとえば、あるコンテキストでは管理者、別のコンテキストでは基本ユーザーです。コントローラとビューで使用するためにcurrent_userとcurrent_contextを実装しました。

if_attributeを使用して、適切なデータセットに対する適切なアクセス許可を参照する予定です。ただし、問題は、モデル(role_symbolsが定義されている)でcurrent_contextを参照できない、または参照すべきでない場合に、defrole_symbolsが特定のコンテキストでユーザーに関連付けられたロールのみを返すようにするにはどうすればよいかです。

何か案は?

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

ruby-on-rails - deviseとcurrent_user

deviseとdeclarative_authorizationを実装しようとしているRails3アプリがあります。declarative_authorizationの重要な部分は、ユーザーモデル内に関数「role_symbols」が存在することです。ロールを実装する方法のために、ユーザーモデル内にインスタンスメソッドを実装して、値を追跡します(fooを呼び出しましょう)。

次に、role_symbolsメソッド内でfooの値を使用して、有効なロールを制限します。たとえば、次のようになります。

問題は、コントローラーのcurrent_userにfooの値を設定しようとすると、値が固定されないことです。たとえば、次のようになります。

は成功しましたが、別のビュー(またはコントローラー)で値を確認すると、current_user.fooの値はnilです。

current_userオブジェクトは、セッションで永続化される単なるUserオブジェクトではありませんか?もしそうなら、current_userオブジェクト内のインスタンス値の設定にいくつかのロックがありますか?

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

ruby-on-rails - 宣言型認証をレールし、コントローラーのすべてのアクションを許可しますか?

レールにdelcarative_authorizationgemを使用して、すべてのコントローラーアクションへのロールアクセスを許可するショートカットはありますか?

コントローラーにはCRUDだけでなく、より多くの制御方法があるため、十分ではありません。

何かのようなもの:

完璧だろうが、私はそれをドキュメントで見つけていません。

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

ruby-on-rails-3 - ユーザー テーブルの列として役割を持つ方が良いですか、それとも結合テーブル (役割と割り当て) を介して行う方が良いですか? -レール3

ここで私のモデルを見ることができます:

https://gist.github.com/768947

何が起こっているのかを説明するために、いくつかのモデルがあります。私のアプリの中核には、プロジェクト、ステージ、アップロード、コメント、ユーザーがあります。次に、ユーザー認証を管理するための役割と割り当てがあります。

これはプラグイン declarative_authorization とログイン用のデバイスで行っています。

最初の質問は、「ロール」の列をユーザー モデル/テーブルに追加し、そこに各ユーザーのロールを保存する方がよいのでしょうか? 複数のロールを持つユーザーがいる場合は、すべてのロールを配列として保存し、必要に応じて循環させることができます。

それとも、2 つの別々のテーブルと多数の結合を使用して割り当てをセットアップする、今セットアップしたようにする方がよいでしょうか? 私には、デザイナー、クライアント、管理者、スーパーユーザーの 4 つのロールしかありません。

コンピューティング リソースの観点からは、結合よりも列を使用して各クエリを実行する方が「安価」であるという意味で優れていますか、それともその違いはそれほど重要ではありませんか?

私の質問の根本は...現在、 current_user に割り当てられたプロジェクトを取得したい場合は、単純current_user.projects.each do |project|にそのように循環させます。これは私が行った後です:@projects = current_user.projectsプロジェクトコントローラーで。ユーザーとロールを除く、他のすべてのモデルにも同じことが当てはまります。

ただし、「クライアント」ロールを持つユーザーを見つけたい場合は、非常に複雑になります。それとも私はそれを過度に複雑にしていますか?

どんな助けでも大歓迎です。

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

ruby-on-rails - ドメインまたはサブドメインのいずれかであるCookieユーザーセッションを持つ単一のRailsアプリケーションを使用することは可能ですか?

マルチサブドメイン アプリケーションで、管理者と単純なユーザーをログインさせたい。管理者は、すべてのサブドメインにアクセスできる必要があります (つまり、管理者のセッションは、すべてのサブドメインで利用可能な Cookie に保存する必要があります)。ユーザーは、ログインしたサブドメインにのみアクセスできる必要があります。

たとえば、次のようになります。

admin "administrator" は、ドメイン URL (mydomain.com) または任意のサブドメイン (abc.mydomain.com など) でサインインし、すべてのサブドメインにログインしたままになります。したがって、彼 (「管理者」) は、efg.mydomain.com、abc.mydomain.com、mydomain.com などにアクセスできます。

ユーザー「simpleuser」が abc.mydomain.com にサインインします。彼 (「simpleuser」) は、このサブドメインにのみアクセスできます (つまり、Cookie は abc.mydomain.com サブドメインにのみ関連します)。

サブドメインまたはドメインのいずれかに Cookie を関連付けることを選択できることはわかっていますが、同じアプリケーションでこの動作を混在させたいと考えています。誰かがアプローチを知っていますか?

これはRails 3用です

アプリケーションを介したサブドメインへのアクセスを制限したくありません (つまり、 cancan または declarative authorization を介して)。理想的には、Cookie を介してサブドメイン レベルでアクセスをブロックする必要があります。サイトへのアクセスを制御するためのソフトウェアをもう 1 つセットアップする必要がないため、これはより安全なアプローチだと思います。

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

ruby-on-rails - 工夫と宣言的承認 機能テストの問題

devise と宣言型承認を使用しているときに、機能テストを機能させるのに非常に問題があります。devise テスト ヘルパーを使用してユーザーをサインインすると、コントローラーに current_user 変数が入力されます。しかし、post_with テスト ヘルパーを宣言型承認に使用するとすぐに、current_user は nil になります。

devise と宣言型承認を一緒に使用する場合に機能テストを作成する方法の例を教えてもらえますか?

ありがとう

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

ruby-on-rails - nil:NilClass の未定義メソッド「save」

新しいユーザーを登録しようとすると、このエラーが発生します。

NoMethodError (未定義のメソッドsave' for nil:NilClass): app/controllers/users_controller.rb:49:increate' app/controllers/users_controller.rb:48:in `create'