Morshed Alam
Morshed Alam Software Architect

HTTP basic authentication in rails to protect staging server

• By Morshed Alam • Server
Sometimes, you may need to protect your staging server from outside world. It can be done easily by using http basic authentication in rails3.

I did following things to use HTTP basic authentication to protect my staging server:

YML file with username and password pair:
devuser: devpass
testuser: testuserpass

Loaded YML data from application initializer:
HTTP_AUTH_USERS = YAML.load_file("#{Rails.root.to_s}/config/staging_server_users.yml")

Callback and authentication in the application controller:
before_filter :authenticate_for_staging_server, :if => lambda { Rails.env.development? }

private
def authenticate_for_staging_server
authenticate_or_request_with_http_basic do |user_name, password|
password == HTTP_AUTH_USERS[user_name]
end
end

Hope it will help a lot who wants to protect their staging server.

Comments (0)

No comments yet. Be the first to share your feedback or ask a question!

Leave a Comment