我正在尝试创建一个API,而我的一个操作是将其限制为仅限管理员。为此,我使用before_filter
,如下所示:
def authorize_admin!
if !@current_user.admin?
error = { :error => "You must be an admin to do that." }
render params[:format].to_sym => error, :status => 401
end
end
问题在于,当我们发回401响应时,错误将转换为:
"{\"error\":\"You need to sign in or sign up before continuing.\"}"
这是Devise在您发送401响应时发回的响应。
有没有办法可以关闭此功能?
答案 0 :(得分:4)
什么是Devise版本?这个维基页面表明它应该适用于1.2。
https://github.com/plataformatec/devise/wiki/How-To:-Provide-a-custom-failure-response-with-Warden
答案 1 :(得分:0)
我认为来自Devise wiki的这个页面可以帮到你。 How To Use HTTP Authentication in Devise