Я сейчас создаю многопользовательскую систему в рельсах 5, используя драгоценный камень Квартира
У меня есть модель арендатора, которая содержит имя и арендатора, поэтому я могу создавать отдельных арендаторов (или компании).
У каждого арендатора есть таблица пользователей. Когда пользователь входит в систему, я устанавливаю сеанс, содержащий user_id. Проблема заключается в том, что когда я переключаю субдомены, он берет идентификатор пользователя от второго арендатора и показывает, что я вошел в систему как они.
например: на tenantA я вошел в Brad (user_id: 1 в таблице пользователей tenantA)
когда я переключаюсь на tenantB, я вхожу в систему как Dave (user_id: 1 в таблице пользователей tenantB)
Очевидно, что это нехорошо, поскольку вы можете получить доступ к данным другого арендатора.
Я просто не совсем уверен, как ограничить доступ пользователей только к своему арендатору. Я думаю, что может быть какая-то область видимости сеанса, поэтому он применяет сеанс только к текущему поддомену, а не ко всем, но не уверен, как это сделать.
Кто-нибудь делал это до того, как это могло бы помочь мне? Не уверен, какой код вставить сюда, но просто дайте мне знать, и я опубликую свой код.
Заранее спасибо