問題タブ [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.
ruby-on-rails - ネストされたリソースを使用した宣言型承認
私は最後の手段としてここに来て、すべてを試しました。それはうまくいきません。だからここに行きます。
これが私の認証コードです:
部門の私のコントローラーコード:
そしてusers_controllerで:
declarative_authorization githubページにあるサンプルアプリで使用されているパターンに従おうとしていますが、無駄です。
したがって、この構成では、新しいユーザーを作成しようとすると
私は得る
頭を上げたり、チップを上げたりすると、本当に役に立ちます。
ruby-on-rails - Fixnum を String に変換できません - Devise/sessions Controller の問題
だから、これは私が見るエラーです:
application_controller.rb は次のようになります。
ヘルプ!
Edit1: リクエストによると、ログ ファイルの出力は次のとおりです。
誰でもこれに対する解決策を思いつきますか?
ruby-on-rails - ロールマスクを使用して、特定のロールを持つすべてのユーザーを検索する
現在のプロジェクトでは、ユーザーの役割を追跡するためにビットマスクを使用してきましたが、特定の役割を持つすべてのユーザーを検索できるようにする必要がある状況になりました。
私の役割は次のように設定されています。
まったく同じビットマップを持つすべてのユーザーを見つけることができますが、1つの特定の役割、この場合は「編集者」の役割を持つすべてのユーザーを抽出する方法がわかりません。
ruby-on-rails-3 - Rails 3 サブドメイン
プライベート ベータ版として、選択した一連の個人にアプリケーションを公開したいと考えています。このタスク用にサブドメイン beta.company.com を作成しました。
アプリケーションはワークステーションで期待どおりに動作しますが、サーバーにプッシュすると、アプリケーションは継続的に認証ページに戻ります。参考までに、私は declarative-authorization、authlogic、および Passenger を使用しています。
ルート.rb:
症状:
- 匿名ルート (例: user_sessions#create、not_authorized) は anon に対して期待どおりに機能します。ユーザー
- アプリケーションはワークステーションで期待どおりに動作します
production.log を見ると、次のようなエントリが表示されます。
UsersController#index による HTML としての処理 許可が拒否されました: # @role_symbols=[:guest]> (役割 [:guest]、特権 [:index、:read、:manage]、コンテキスト :users) のインデックスに一致するルールが見つかりません。http://beta.company.com/authenticateにリダイレクト
** 編集 **
1 つには、UsersController#index アクションがなく、もしあったとしても、匿名ユーザーはそれにアクセスできません。なぜそこにルーティングしようとしているのか(認証が成功した後に行くべき場所であるルートURLではなく)、私は混乱しています。
これはサブドメイン固有のルーティングの問題のようですが、確信が持てません。
この「エラー」をもう一度よく読んでください。UserController#index アクションがあり、匿名ユーザーはそれにアクセスできません。一見、存在しないアクションであるUserSessionController#indexを読んだと思いました。
現在、認証されたユーザーが作成または保存されていないようで、その結果、UserSession#new アクション (AKA 認証パス) に再ルーティングされています。
** / 編集 **
**編集Ⅱ**
私は cookie_store から active_record_store に変更しました:
テーブルを追加し ($ rake db:sessions:create)、移行を行い ($ rake db:migrate)、Apache を再起動し ($ touch tmp/restart.txt)、ブラウザのキャッシュをクリアしてから、ブラウザを再起動しました。
セッションはセッション テーブルに正常に追加されましたが、まだ問題が発生します。
** /編集II **
考えは大歓迎です。
ruby - 宣言型承認とhas_and_belongs_to_many
宣言型承認に少し問題があります。has_and_belongs_to_manyアソシエーションを持つユーザーとロールモデルがあります。
Authorization_rules.rbに:moderatorという名前のロールを作成しました
ロールモデレーターを持つユーザーが、モデレーターロールが割り当てられているユーザーのみを取得することは可能ですか?-> User.with_permissions_to(:index)
私はそれがそのように可能であると思いました:
また、ユーザーモデルにnamed_scopeを作成したのは、それが役立つと思ったからです...
declarative_authorizationでこれを行うことが可能かどうか誰かが知っていますか?
ご協力いただきありがとうございます!
ruby-on-rails - declarative_authorizationの包含および継承されたリソース
declarative_authorizationとinherited_resourcesのgemがインストールされたrails3アプリがあります。私のアプリのコードをいくつか紹介します。
私の承認ルール:
私が使用するposts/index.html.hamlで
そして私のposts_controllerで
見た目は良さそうですが、機能しません:(
テストユーザーには、1つのブログのモデレーターのメンバーシップを持つモデレーターの役割がありますが、2番目のブログのメンバーシップはありません。
以下のルールとコードを使用すると、モデレーターの役割を持つすべてのユーザーが任意のブログに投稿を作成できます。
教えてください-ブログの作成者とモデレーターだけが自分のブログに投稿を送信でき、他のブログには送信できないようにするには、何を変更する必要がありますか?
ruby-on-rails-3 - 「このアクションへのアクセスは許可されていません」という空白のエラー ページを取り除くにはどうすればよいですか。Rails 3のdecl_authで?
承認はうまく機能しますが、ユーザーがアクセス権のないアクション/コントローラーにアクセスすると、次のように表示されます。
ページは空白です。
ユーザーに表示される内容をカスタマイズするにはどうすればよいですか? メッセージを完全に置き換えるか、ページを完全に新しいページに置き換えるか。
どうすればこれを行うことができますか?
ありがとう。
mongoid - 宣言型承認と mongoid 埋め込みドキュメント
私は宣言型承認とモンゴイドを使用しています。私は協会を持っています
そしてルーティング
に追加filter_resource_access
しましたdivisions_controller.rb
。部門インデックスの許可は問題ありませんが、部門 ID を使用して宣言型承認クエリを編集および更新しているときにエラーが発生しますDocument not found for class Division with id(s) 13244adsf32gag3
。組み込みコントローラーとドキュメントでも動作させるにはどうすればよいですか?
ruby-on-rails - if_attributeでの宣言型認証の問題
私の承認ルール:
私のユーザーコントローラー
それでも許可が拒否されるのはなぜですか?遊んでみましたが、自分のプロファイルを編集するテスターである現在のユーザーを取得できません。
ruby-on-rails - Rails 3 の filter_access_to ステートメントから外したコントローラーのアクションにアクセスできないのはなぜですか?
私は declarative_authorization を使用しており、コントローラーには次のものがあります。
filter_access_to :index, :new, :edit, :step, :create, :update, :destroy
省略されているアクションが 2 つあります。:show, :compare
. ただし、これらのアクションのいずれかの URL にアクセスすると、ログイン画面が表示されます。
どうしてこれなの ?
そのコントローラーに他のフィルターがない場合 (ApplicationsController から継承されたものを除く)、省略されたアクションをログインしていないときに表示できるようにすべきではありませんか?