Search code examples
ruby-on-railshttp

Rails: Return a 401?


I'd like to return a HTTP 401 error as part of my permission_denied method for declarative_authorization.

# triggered when a user accesses a page that they don't have access to
def permission_denied
  # render my default 401 error page?
end

How would I do this? (Pardon the question if it's stupid... I know how to render the 401.html page in my public directory, but I don't think it returns the 401 HTTP header, which is what I'm after.)


Solution

  • You can add the :status option

    def permission_denied
      render :file => "public/401.html", :status => :unauthorized
    end