2 votes

Quand vérifier si le compte doit être autorisé à utiliser l'application web ?

J'ai donc cette application web qui, en théorie, pourrait un jour devenir une application payante - si quelqu'un la trouve vraiment utile et en vaut la peine.

J'ai toute la logique pour gérer le paiement, vérifier si le compte est en retard, etc. en place. Tout cela est stocké dans RavenDB (RavenHQ en fait) - non pas que cela ait une importance pour la question qui nous occupe.

J'essaie de suivre les meilleures pratiques et je veux que mon application soit performante, c'est-à-dire qu'elle ne soit pas micro-optimisée, mais je veux faire les choses de manière à ce qu'elle s'adapte relativement bien à la charge (si elle décolle, elle sera hébergée - j'aimerais ne pas avoir à payer pour plus de serveurs que ce qui est strictement nécessaire).

Mon application utilise quelque chose de proche du modèle de connexion/compte par défaut. Les utilisateurs se connectent de manière sécurisée en utilisant l'authentification par formulaire sur https.

À quel moment dois-je vérifier qu'un utilisateur est réellement autorisé (en ce qui concerne l'état du paiement, etc. - une question de modèle de domaine, en fait) à utiliser l'application Web ? Considérez que cela signifie demander un seul document à partir du backend RavenDB et vérifier si la période de paiement actuelle a expiré.

Je devrais :

  • Vérifier chaque fois que l'utilisateur se connecte, et faire en sorte qu'il ne puisse pas se "souvenir de moi" pendant plus de x heures, où x est un nombre relativement petit ?

  • Vérifiez quelques actions du contrôleur central que l'utilisateur visite relativement souvent - l'application serait essentiellement sévèrement limitée si ces actions n'étaient pas disponibles.

  • Faites un filtre d'action global qui vérifie chaque demande, puis redirige vers la page "Pay nooooow !" dès que l'objet expire ?

  • Une autre option ?

RavenDB fait de la mise en cache intelligente, donc je ne pense pas qu'une requête pour ce document tuerait les performances, mais si l'application décolle vraiment (peu probable, mais on peut rêver), une requête de base de données supplémentaire par requête http conduira probablement Ayende à me traquer et à me battre sans pitié. Ce n'est pas ce que je veux.

Il me semble que c'est une question à laquelle d'autres ont pensé et qu'ils ont résolue, alors je vous demande : quelle serait la bonne façon de procéder ?

Merci pour tout commentaire !

1voto

AD.Net Points 8444

Je ne pense pas qu'il s'agisse d'un problème de framework à proprement parler, il s'agit plutôt de savoir comment vous voulez que votre site se comporte, puis d'utiliser le framework pour le supporter. D'une manière générale, vous voulez que le site soit utilisable et pas trop restrictif, sauf si c'est nécessaire. Par exemple, vous pouvez naviguer sur le site sans aucune restriction, mais le paiement doit être effectué de manière très sécurisée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X