设计劫持401响应

我正在尝试创建一个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响应时发回的响应。

有没有办法可以关闭这个function?

什么是Devise版本? 这个维基页面表明它应该适用于1.2。

https://github.com/plataformatec/devise/wiki/How-To:-Provide-a-custom-failure-response-with-Warden

我认为来自Devise wiki的这个页面可以帮到你。 如何在设计中使用HTTP身份validation