2010-11-22 3 views
3

У нас есть приложение, которое является многопользовательским (многие пользователи получают доступ к собственным данным, похожим на что-то вроде Basecamp).Защита данных в определенном домене в Rails

Вопрос в том, что является самым простым и простым способом в Rails, чтобы пользователи могли видеть только свои данные учетных записей? Это случай перехода и проверки каждого запроса?

ответ

3

Путь, чтобы это произошло:

  • Используйте поддомены, поэтому его customer.domain.com .... Тогда в контроллере приложения, имеют перед фильтром, который будет найти субдомен и установить @ переменная клиента
  • Всегда получать данные от клиента, так что вы говорите @ customer.quotes.find (Params [: ID]) ... а не Quote.find (PARAMS [: ID])

так , да, в базе данных с несколькими арендаторами вам необходимо проверить каждый запрос.

0

вы можете использовать субдомен, но вы также можете использовать current_user, в зависимости от вашего метода проверки подлинности. объяснил.

Я сделал вход, и теперь у меня есть текущий current_user. У пользователя много сообщений. Итак, теперь, если я хочу найти все мои сообщения, я должен делать current_user.posts.all или current_user.posts.find().

Не полагайтесь на файлы cookie или в "hide paths", так как это не сработает. Напишите тесты, чтобы проверить, не нарушила ли ваша схема авторизации.

Смежные вопросы