2013-02-07 1 views
0

Je travaille sur une application java swing qui était jusqu'à présent un utilisateur unique/rôle. Maintenant, j'ai une exigence que les utilisateurs doivent être séparés en rôles avec des autorisations différentes. Chaque panneau dans l'application aura certaines exigences d'autorisation qui dicteront son comportement (c'est-à-dire qu'il aura besoin de l'autorisation P1 pour la visualisation et P2 pour l'édition). Après quelques recherches, je m'en tiendrai à Apache Shiro pour mon cadre de sécurité/UAC.Comment stocker les autorisations requises pour les panneaux de l'interface utilisateur

Ma question est la suivante: Où dois-je stocker les autorisations requises pour chaque panneau? Ma première pensée était de les avoir dans la classe Java elle-même, mais cela semble un peu "hack-y". Une autre option consistait à les stocker dans la base de données et à lier la classe avec les autorisations requises. Mais cela crée des problèmes: chaque fois qu'un nouveau panneau est ajouté/supprimé, les autorisations doivent être mises à jour dans la base de données.

Si vous avez des indications sur la façon dont cela pourrait être fait/était déjà fait, je serais très reconnaissant.

Répondre

0

Je pense que la chose la plus sûre est de stocker les permissions dans la base de données (ou tout autre serveur centralisé). L'avantage est que si les permissions changent, vous n'avez qu'un seul endroit central à changer.

Si une configuration de sécurité est dans l'application, puis après un changement que vous devez vous assurer qu'aucun utilisateur en utilisant secrètement une ancienne version ...

+0

Mais comment dois-je attacher les autorisations au panneau spécifique? Est-ce que j'attribue un identifiant à chaque panneau puis stocke la relation id -> permission dans la base de données? –

+0

Oui, un identifiant numérique - ou un nom de chaîne serait encore plus lisible. Le fait est que dans le programme, vous ne stockez que les informations qui ne changeront pas plus tard. – lbalazscs

Questions connexes