Small rack middleware to block your site from unwanted vistors. A little bit more convenient than basic auth - browser will ask you once for the password and then set a cookie to remember you - unlike the http basic auth it wont prompt you all the time.
Add this line to your application's Gemfile:
gem 'rack_password'
Let's assume you want to password protect your staging environemnt. Add something like this to config/environments/staging.rb
config.middleware.use RackPassword::Block, auth_codes: ['janusz']
From now on, your staging app should prompt for janusz
password before you access it.
You can also provide custom validator:
config.middleware.use RackPassword::Block, auth_codes: ['janusz'], custom_rule: proc { |request| request.env['HTTP_USER_AGENT'].include?('facebook') }
- If you use server ip address instead of domain name to visit your webpage using chrome, rack_password will not accept any password, including the correct one. As a workaround, please use wildcard DNS service, such as xip.io or set
cookie_domain
option to match server IP address.
- Fork it ( https://github.com/netguru/rack_password/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request