問題タブ [acl9]
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 - acl9 プラグインの問題
「企業」ロールを持つユーザーが自分の会社にアクセスできるようにしようとしています。現在、その役割を持つユーザーはブロックされています。
管理者としてログインするか、アクセス制御を変更してすべてを許可すると、正常に動作します。この問題は、会社を持つ企業ユーザーの役割に関連しています。
ここにすべてのコードがありますhttp://pastie.org/672733
ユーザーコントローラー
アプリケーションコントローラー
会社のコントローラー
ruby-on-rails - acl9 object.accepts_role?(role_name, current_user) を満たすモデル オブジェクトのみを検索します
私はレールにかなり慣れていないので、実際にauthlogic + acl9を使用するのは初めてです. 両方のプラグインのデフォルトのインストール手順に従いました。
これまでのところ、すべてがうまく機能していますが、この問題のエレガントな解決策を見つけるのに苦労しています:
Products というモデル クラスがあるとします。新しい Product オブジェクトを作成するとき、current_user を所有者として割り当てます。
2 番目のユーザーを登録し、この部分が機能することを確認しました。
products コントローラには index メソッドがあり、単純にすべての製品を返します。
私の質問は次のとおりです: current_user が :owner である製品だけを取得するために、Products で find メソッドを呼び出すにはどうすればよいですか? だから私は意味する acl9 インターフェースを使用しています:
1 つの可能性としては、最初にすべての製品を取得してから、current_user の製品だけで新しい配列を作成することです。だから多分このように:
この解決策はかなり無駄に思えます。それで、それを行う正しい方法は何ですか?
みんな、ありがとう!
ruby-on-rails - レール | きゅうり | きゅうり acl9 | アクセスが拒否されました
私は Cucumber を増やしていますが、最初のテストの 1 つに合格するのに問題があります。私が得ている例外は次のとおりです。
これが私のキュウリの機能です...
私のsteps.rb:
最後に、controller.rb に次の access_control ブロックがあります。
ブラウザから明示的に手順に従うと、シナリオは正常に機能します。
長文すみません、ありがとうございます!
ruby-on-rails - フォームによるユーザー ロールの変更
管理者ユーザーが他のユーザーの割り当てられたロールを変更できるようにする Rails フォームを作成しようとしています。私が作成したフォームは、ユーザーへの変更 (パスワードやログインの変更など) を登録しますが、別のモデルであるユーザーのロールへの変更を登録しません。
私はロールベースの認証に Acl9 を使用しています。これは、User モデル、Role モデル、および 2 つをリンクする Roles_user モデルを使用します。
私のフォームにあるコードは次のとおりです。
ページのロード時にエラーは発生しませんが、選択したロールがユーザーに関連付けられません。どんな助けでも大歓迎です。ありがとう!
ruby-on-rails - be9acl9で適用されたロールを持つオブジェクトのリストを取得します
私はこのようなことで考えます:
ruby-on-rails - acl9: 承認を事前に決定する
プロジェクトの 1 つで、authlogic の上に acl9 を使用しています。私はacl9のアプローチが好きですが、それほど単純ではないことをやろうとしていると思います(不可能とは言えません)。
使いやすさの理由から、インライン管理パネルが必要です。たとえば、リソース オークションとネストされたリソース オークション/入札を取得したとします。通常のユーザーがオークション/1 (1=id) にいる場合、「通常の」もの (説明、価格など) が表示され、同じサイトの特権ユーザーには、オークションを編集するための追加のリンク (= オークション/) が表示されます。 1/編集)。そして、ここから楽しみが始まります。
よく調べていなかったか、場所を間違っていたのかもしれませんが、現在のユーザーが編集操作を許可されているかどうかを判断する方法が見つかりませんでした。明らかに、すべての人にリンクを表示し、編集アクションで通常のユーザーを拒否できますが、それは実行可能なオプションではありません。ここで私を悩ませているのは、情報が既にシステムにあり (以下のaccess_control
ブロックを参照)、それを使用する方法が見つからないように見えることです。これは非常に多くのレベルで DRY ではありません。
auctions/1/bids/2/edit
これはまったく別のコントローラーにあるため、ユーザーがどの権限を持っているかを判断したい場合はさらに悪化します。
事前にその情報にアクセスしてから、編集用のリンクを表示するかどうかを決定するにはどうすればよいですか? それは(acl9自体を変更せずに)不可能なのですか、それとも十分に調べていませんでしたか?私の要件をよりよく満たす認証プラグインはありますか?
ruby-on-rails - Acl9の役割に応じてフィールドを表示または非表示にする-RubyonRails
Acl9を使用してロールを管理していますが、ユーザーのロールが:customerの場合はチェックボックスのユーザータイプを非表示にし、ロールが:managerの場合は表示します。:managerだけが:customerのすべてのフィールドと一部のフィールドを編集できるようにしたいと思います。
ご協力ありがとうございました!
ruby-on-rails - acl9 と Devise はうまく連携していないようです
ACL9 によってアクセスが制御されるユーザー モデルがあります。
でUsersController
:
でApplicationController
:
サインイン ページの URL を入力しても問題ありませんhttp://localhost:3000/users/sign_in
が、たとえば、最初にユーザー ページを入力すると、上記のロジックによって自動的にサインイン ページにリダイレクトされることが予想されるため、問題が発生します。
http://localhost:3000/users/1
=>無限リダイレクト地獄。users/1
にリダイレクトする代わりに、再び にリダイレクトしようとしusers/sign_in
ます。
何がうまくいかないのかについて意見を持っている人はいますか?
ruby-on-rails - Rails 3 および Acl9: 特定のオブジェクト/ロールのすべてのサブジェクトを見つける
私は承認のためにacl9でrails3を使用しています。私はARelとレールのクエリ方法を理解しようとしています。
Companyに属するUserがあり、そのユーザーはCompanyに対して特定の役割 (acl9 が配管を提供します) を持っています。特定の役割を持つ特定の会社からすべてのユーザーを取得するにはどうすればよいですか? アプリケーションで結果をフィルタリングするのではなく、 DB で結果をフィルタリングしたい。
私はこのようなものが欲しい:
rails3 には sql api があることは知っていますが、私は Java/Grails の出身であり、使用する ORM のほとんどにはいくつかの ORM api があります (datamapper はこのように機能すると思いますが、私はプレーンな rails3 を使用しています)。
ruby-on-rails - ACL9およびRails2.3.8-NameError:初期化されていない定数User :: Role
RVM(Ruby 1.8.7-head、Rails 2.3.8)を実行していて、新しいアプリの基本を実行しています。私はAuthlogicを機能させており、それを機能させるための最小限のコードを使用しています。ACL9(別のプロジェクト、同じRVMジェムセットで作業しています)を使用しようとしています
ACL9が正しく機能していることを確認するために、簡単なチェックを実行しようとすると...
スクリプト/コンソール
u = User.first
u.has_role?(:anyrole)
このエラーが発生します...
なぜこれが私が持っている他のすべてのアプリで機能するのかわかりませんが、これはそうではありません-そしてエラーメッセージが何を言っているのかわかりません..助けていただければ幸いです。