2013-05-03 5 views
0

Je suis en train de créer une application rails qui utilise entièrement une API distante pour tout. L'API distante possède des informations utilisateur, des autorisations, etc.Mise en cache des autorisations

Comme mes autorisations d'utilisateur existent dans l'API distante, je me demande comment je vais gérer la vérification si un utilisateur a accès à une page spécifique, au niveau du contrôleur. À l'heure actuelle, cela voudrait dire que j'aurais besoin de faire un ping sur l'API à chaque action du contrôleur, ou je peux commencer à utiliser la mise en cache. Mais je n'ai aucune idée de quand les permissions changent, ainsi la mise en cache peut créer des problèmes de synchronisation.

Comment les gens gèrent-ils normalement cela?

Répondre

0

Si votre application utilise uniquement les autorisations en mode lecture seule, il y a peu d'inconvénients dans la mise en cache du autorisations retournées par l'API pendant quelques minutes.

Si votre application permet également aux utilisateurs de modifier les autorisations d'une manière ou d'une autre, assurez-vous de récupérer les autorisations non mises en cache. Vous devriez également toujours utiliser une version non mise en cache des autorisations lorsque l'utilisateur accède à quelque chose avec un niveau de sensibilité/sécurité plus élevé (connexion, changement de mot de passe ou d'autres choses liées au profil).

0

Lorsque j'ai fait un système similaire, je n'avais qu'un utilisateur de synchronisation une fois par session (lors de la connexion).

Je peux également vous conseiller de synchroniser les utilisateurs actifs en arrière-plan, disent toutes les 5 minutes (s'il est crucial)