我想在declarative_authorization的permission_denied
方法中返回HTTP 401错误。
# triggered when a user accesses a page that they don't have access to
def permission_denied
# render my default 401 error page?
end
我该怎么做? (原谅这个问题,如果它是愚蠢的...我知道如何在我的公共目录中呈现401.html页面,但我认为它不会返回401 HTTP标头,这就是我所追求的。)
答案 0 :(得分:86)
您可以添加:status
选项
def permission_denied
render :file => "public/401.html", :status => :unauthorized
end
答案 1 :(得分:1)
在这里,您不必深入研究评论以获得现代答案。
上一个答案已在 Rails 5.1 中弃用
将其中任何一个放入您的控制器操作中:
render :file => "public/401", :status => :unauthorized
render status: :unauthorized, json: { error: "You are not authorized to access this resource. Verify that you are passing passing your token." }
head :unauthorized