2013-05-03 6 views
0

Я создаю приложение rails, которое полностью использует удаленный API для всего. Удаленный API имеет информацию о пользователе, разрешения и т. Д.Кэширование разрешений

Поскольку мои права доступа существуют в удаленном API, мне интересно, как я буду контролировать, имеет ли пользователь доступ к определенной странице на уровне контроллера.

Прямо сейчас, это означало бы, что мне нужно будет ping API для каждого действия контроллера, или я могу начать использовать кеширование. Но я понятия не имею, когда изменяются разрешения, поэтому кэширование может создавать проблемы с синхронизацией.

Как люди обычно справляются с этим?

ответ

0

Если ваше приложение использует только разрешение в моде только для чтения, есть немного недостатка в кэшировании разрешения, возвращаемые API еще на несколько минут.

Если ваше приложение также позволяет пользователям каким-либо образом изменять разрешения, просто убедитесь, что вы выбрали не кэшированные разрешения.

Вы также должны всегда использовать не кэшированную версию разрешений, когда пользователь обращается к чему-то с более высокой чувствительностью/уровнем безопасности (вход в систему, изменение пароля или другие связанные с профилем вещи).

0

Когда я сделал подобную систему, у меня был только пользователь синхронизации один раз за сеанс (при входе в систему).

Также я могу посоветовать вам синхронизировать активные пользователь в фоновом режиме, скажем, каждые 5 минут (если это важно)

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