Code Monkey home page Code Monkey logo

Multitenant

When building multitenant applications, never let an unscoped Model.all accidentally leak data to an unintended audience.

Usage

class User < ActiveRecord::Base
  belongs_to :tenant
  belongs_to_multitenant
end

Multitenant.with_tenant current_tenant do
  # queries within this block are automatically
  # scoped to the current tenant
  User.all

  # new objects created within this block are automatically
  # assigned to the current tenant
  User.create :name => 'Bob'
end

Features

  • Rails 3 compatible

  • Restrict database queries to only lookup objects for the current tenant

  • Auto assign newly created objects to the current tenant

Contributing

  • Check out the latest master to make sure the feature hasn’t been implemented or the bug hasn’t been fixed yet

  • Check out the issue tracker to make sure someone already hasn’t requested it and/or contributed it

  • Fork the project

  • Start a feature/bugfix branch

  • Commit and push until you are happy with your contribution

  • Make sure to add tests for it. This is important so I don’t break it in a future version unintentionally.

  • Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.

Credits

Lars Klevan for inspiring this project.

Copyright © 2011 Ryan Sonnek. See LICENSE.txt for further details.

multitenant's Projects

10anc icon 10anc

A multi-tenancy framework built on Devise, CanCan, Rolify and Postgres

authlogic icon authlogic

A simple model based ruby authentication solution.

cancan icon cancan

Authorization Gem for Ruby on Rails.

cantango icon cantango

CanCan extension with role oriented permission management, rules caching and much more

ckan icon ckan

CKAN is an open-source DMS (data management system) for powering data hubs and data portals. CKAN makes it easy to publish, share and use data. It powers the thedatahub.org, catalog.data.gov and data.gov.uk among many other sites.

clearance icon clearance

Rails authentication with email & password.

cucumber icon cucumber

BDD that talks to domain experts first and code second

devise icon devise

Flexible authentication solution for Rails with Warden.

django-activity-stream icon django-activity-stream

Generate generic activity streams from the actions on your site. Users can follow any actor's activities for personalized streams.

formtastic icon formtastic

A Rails form builder plugin with semantically rich and accessible markup.

multitenant icon multitenant

Multitenant: making cross tenant data leaks a thing of the past...since 2011

rails-composer icon rails-composer

Rails Composer. The Rails generator on steroids for starter apps.

rails3-subdomains icon rails3-subdomains

An example Rails 3.2 app with subdomains and authentication using Devise. With a tutorial.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.