簡體   English   中英

自定義狂歡設計注冊-管理員授權失敗

[英]Custom Spree Devise Registration - Admin Authorization Failure

我添加了姓名,姓氏和生日日期字段來設計注冊。 這是我原始問題的鏈接。

在Spree Devise注冊中添加名稱

似乎在前端方面一切正常。 但是,當我嘗試訪問管理員時,現在會收到“ 授權失敗”警報。

這是控制台日志:

Started GET "/admin/orders" for ::1 at 2015-07-21 13:25:16 -0500
Processing by Spree::Admin::OrdersController#index as HTML
  Spree::Preference Load (0.3ms)  SELECT  "spree_preferences".* FROM "spree_preferences" WHERE "spree_preferences"."key" = $1 LIMIT 1  [["key", "spree/backend_configuration/locale"]]
  Spree::User Load (0.5ms)  SELECT  "spree_users".* FROM "spree_users" WHERE "spree_users"."deleted_at" IS NULL AND "spree_users"."id" = $1  ORDER BY "spree_users"."id" ASC LIMIT 1  [["id", 6]]
   (0.7ms)  SELECT COUNT(*) FROM "spree_roles" INNER JOIN "spree_roles_users" ON "spree_roles"."id" = "spree_roles_users"."role_id" WHERE "spree_roles_users"."user_id" = $1 AND "spree_roles"."name" = $2  [["user_id", 6], ["name", "admin"]]
Redirected to http://localhost:3000/unauthorized
Completed 302 Found in 88ms (ActiveRecord: 4.1ms)

我試圖覆蓋app / controllers / spree / admin / users_controller_decorator.rb

module Spree
  module Admin
   UsersController.class_eval do

    private
     def user_params
         params.require(:user).permit(:email, :password, :password_confirmation, :spree_role_ids, :name, :surname, :birthdate)

     end

   end
  end
end

您無法從前端將角色管理員分配給任何用戶。 請從前端注冊用戶,然后從后端更改其角色。

當您從前端注冊用戶時,這是一個簡單的用戶,他不是管理員,或者他沒有管理員權限,這是您面對此問題的原因。

如果要創建一個具有管理員訪問權限的用戶,則只需轉到管理面板並向該用戶授予權限。

這是創建管理員的默認命令,請在控制台中運行此命令

bundle exec rake spree_auth:admin:create

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM