2010-02-24 10 views
1

Quelle est la meilleure façon de sécuriser une application Flex-BlazeDS? Je l'ai googlé un plusieurs solutions ont été soulevées.Quelle est la meilleure façon de sécuriser une application Flex-BlazeDS?

mise à jour après question jsight:

  • Flex se connecter, si le RemoteObject je vais mettre
  • de vérification des pouvoirs
  • Je ne sais pas s'il vient d'authentification et d'autorisation avec BlazeDS (WebORB par exemple le fait et WebORB a regardé BlazeDS pour leur produit)
  • SSL non nécessaire
  • J'ai vu quelques liens sur internet parlant de la sécurité du printemps, donc je vais vérifier.

L'authentification sera effectuée en comparant la connexion de l'utilisateur avec le mot de passe à la base de données.

+0

Je suggérerais d'utiliser SSL et l'authentification d'une certaine sorte, mais cela pourrait sembler sarcastique. :) Plus sérieusement, nous avons besoin de savoir plus de détails ... utilisez-vous le printemps (la sécurité de printemps fonctionnerait bien avec Flex/Blaze), ou un autre cadre? Voulez-vous SSL? Voulez-vous une page de connexion (style jsp) ou connectez-vous au sein de votre application Flex? – jsight

+0

- Flex se connecterait, donc sur le RemoteObject je mettrais les informations d'identification - Je ne sais pas s'il y a une authentification et une autorisation avec BlazeDS (WebORB par exemple fait et WebORB regardait BlazeDS pour leur produit) - SSL non requis - J'ai vu des liens sur Internet qui parlaient de la sécurité au printemps, alors je vais vérifier. –

Répondre

4

Mes 2 cents:

  • Nous a ont une application Flex et notre écran de connexion fait partie de l'application Flex. Nous n'utilisons pas SSL, mais vous pouvez définir un canal sécurisé si vous en avez besoin (mais vous ne le faites pas);
  • Nous avons créé notre propre instance de la classe d'adaptateur sur le serveur (qui étend celle fournie avec BlazeDS). L'idée est que cette classe vérifie si la session à laquelle appartient cette requête a un utilisateur authentifié ou pas. Dans les méthodes/classes Flex (côté Java), nous avons utilisé des annotations pour informer la classe de l'adaptateur sur les exigences qui doivent être satisfaites pour que cette méthode soit appelée - nous appelons ces annotations "FlexService" (pour la classe) et " FlexMethod "(pour une méthode); La raison principale derrière ceci est d'éviter qu'une méthode soit appelée si l'utilisateur n'a pas été authentifié auparavant, et nous voulons un contrôle plus granulaire que juste "bloquer tout le monde". Nous avons des exigences de licence et cette bibliothèque est également responsable de vérifier si l'utilisateur a une licence et si cette licence est toujours valide pour chaque demande. N'oubliez pas de hacher votre mot de passe avant de l'enregistrer dans la base de données, et comparez le hash uniquement. Vous pouvez le hacher une fois dans le client Flex (donc le mot de passe ouvert n'est jamais envoyé au serveur), et hacher à nouveau la valeur hachée avant de l'enregistrer dans la base de données (si quelqu'un obtient votre mot de passe hashed, il ne peut pas pirater dans votre système car il n'aura pas la valeur hashed d'origine envoyée par le client Flex).

Je suis assez sûr que je vais obtenir quelques downvotes si BlazeDS met en œuvre de ce qui précède, mais je ne pas ce que je trouvais qui était originaire, et je pensais que l'utilisation des annotations était une bonne solution, en particulier parce que nous utilisions des annotations de toute façon pour marquer les méthodes qui étaient des méthodes BlazeDS (donc IntelliJ cesserait de nous déranger sur les méthodes qui ne sont appelées nulle part).