0

CREATE および UPDATE の宣言型認証でエラーが発生します。エラーで認証されているユーザーが表示されず、何らかの形でセッションが失われているため、理由はわかりません。

`Authorization::NotAuthorized in CartypesController#update

# (ロール [:guest]、権限 [:update]、コンテキスト :cartypes) の更新に一致するルールが見つかりません。`

ロール「backoffice」には、authentication_controller.rb での権限があります。has_permission_on :cartypes, :to => [:index, :show, :new, :create, :edit, :update, :destroy, :delete]

Stackoverflowにも同様の問題があります: Link to Stackoverflow Question

私たちは Rails を初めて使用し、今回初めて試しましたが、他の show と list は正常に動作します.. (GET 操作)

助けていただければ幸いです... thx。

編集:モデルのセキュリティについて議論するときに、「宣言型承認」に関するドキュメントがそれほど明確ではないことがわかったため、これを解決できました! 非常に注意深く読んだ場合、モデル セキュリティを使用する場合は次のように設定する必要があります。rails-n00bs については、あまり明確ではないかもしれません...

4

1 に答える 1

0

authenticity_tokenリクエストにパラメータを含めていますか?デフォルトでは、Railsはクロスサイトリクエストフォージェリを防ぐためにPUT、POST、およびDELETEにこのトークンが必要であることを強制します。

これを含めない場合、RailsはCSRF攻撃を防ぐためにセッションを自動的にリセットします。

RailsAuthenticityTokenについてをご覧ください。ファイサルはそれを非常によく説明しました。

http://guides.rubyonrails.org/security.html

于 2011-09-17T15:17:36.333 に答える