-
Notifications
You must be signed in to change notification settings - Fork 6
Home
PHC MTDevise Rails 5.1 engine adds multi-tenant and account management features to rails Devise gem. Plataformatec Devise and required custom Bootstrap Devise views included.
- Multi-tenancy using subdomain scoping and account_id column.
- Adds basecamp style logins to devise authentication gem.
- Welcome, Dashboard with custom Devise views included.
- Highly customizable views and layouts using standard bootstrap 3 code.
- Central login screen for all tenants (users) or logins through a subdomain.
- Mis-Spelling and redirect to welcome screen if subdomain none-existent.
- Compatible with postgre, mysql and sqlite (for dev environments).
Generate a user.rb file in your mainapp and add the code below
rails g model User
include Mtdevise::UserStorage
gem 'mtdevise', '~> 15.0'
bundle exec install
rake railties:install:migrations
rake db:migrate
- Mailer functions are required in order for mtdevise to operate.
- Mailer is used for confirmation and password reset functions.
Add this line at the end of the routes file.
mount Mtdevise::Engine, :at => '/'
All the routes you want to have multi-tenacy login functions goes in between the constraints block.
constraints(Mtdevise::Constraints::SubdomainRequired) do
# Routes Requiring Security & Multi-Tenancy Routes
end
Your app needs modification to controllers (example)
Any corresponding db database tables must have an accounts_id column
accounts_id
Add the mtdevise extension to the top of all models for the routes configured in the previous step.
def self.scoped_to(account)
where(:account_id => account.id)
end
Scope your controllers. Examples on github wiki or multi-tenant starter app.
.scoped_to(current_account)
Set a sent from email address for confirmation and password reset emails more info here. .
PHC_MTDEVISE_SENDER = [email protected]
Once installed views can be generated and customized to your apps needs.
rails generate mtdevise:views
rake assets:clobber
rake assets:precompile
Multi-Tenant Starter App
Documentation (Github Wiki)
Environment Variables
Issues & Bug Reports
Past Security Patch Notes
Managed by PHCNetworks