Comment extraire les éléments d'une application java vers une base de données? [Résolu]

firas_tn 128 Messages postés mardi 11 janvier 2005Date d'inscription 19 avril 2007 Dernière intervention - 27 mars 2007 à 00:07 - Dernière réponse : super_toinou 764 Messages postés mardi 25 mai 2004Date d'inscription 8 mars 2011 Dernière intervention
- 29 mars 2007 à 00:13
Bonsoir tout le monde
enfait je suis entrain de chercher une solution à mon pfe qui devrait être une application java qui permet de sécuriser n'importe qu'elle autre application java qui contient un menu avec des éléments qui s'affiche selon le role et les droits de l'utilisateur spécifiés c'est à dire la tache qui m'a été confiée c'est d'extraire tout d'abord tous les éléments de l'application (Scan) ensuite de mettre ses éléments dans une base de données (Oracle par exemple) et par la suite gérer la sécurité suivant les roles des utlisateurs qu'on a.
Mon probleme maintenant consiste à comment extraire(scanner) les éléments de n'importe quel application java et les mettre dans une base,
je suis vraiment bloqué dans ce point j'espere vaiment que vous m'aidiez
et Merci d'avance
Afficher la suite 

Votre réponse

23 réponses

Meilleure réponse
Ombitious_Developper 2333 Messages postés samedi 28 février 2004Date d'inscription 26 juillet 2013 Dernière intervention - 27 mars 2007 à 16:10
3
Merci
Salut:

Je t'encourages à utiliser un fichier XML pour décrire ton menu, c'est mieux que d'utiliser une structure de données.

// Un exemple simple
<?xml version="1.0"?>
<menu-bar>

    <menu id="fichier">
       <menu-item id="ouvrir"/>
       <menu-separator/>
       <menu-item id="quitter"/>
    </menu>

   
<menu id="edition">

       <menu-item id="rechercher"/>

       <menu-separator/>

       <menu id="option">
          <menu-item id="option1"/>
         
<menu-item id="option2"/>


       </menu>

    </menu>

    // ...


</menu-bar>

Avec les parseur JAXP, JAXB, SAX, DOM, ... tu peux faire toutes les manipulations aisément. (marshall/unmarshall)


________________________________________________________________________________
A.B. : 
"Dieu nous donne des mains, mais il ne bâtit pas les ponts

Merci Ombitious_Developper 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de Ombitious_Developper
Meilleure réponse
super_toinou 764 Messages postés mardi 25 mai 2004Date d'inscription 8 mars 2011 Dernière intervention - 28 mars 2007 à 10:43
3
Merci
Yop yop,

alors c est comme tu veux.
Perso j verrai les choses comme ca :
- T as plusieurs fichiers xml qui pour chacun te décrivent la tronche du menu pour chaque type d utilisateur (admin, normal, boufon ...).
- En base, via le login tu récupère le type de l admin.
- Suivant le type tu charge le bon fichier xml qui te décrira ton menu. Ici t as 2 possibilité :
a) soit écrire le mapping type d utilisateur <-> fichier en dur via ta classe java le probleme c est que quand tu veux rajouter un autre type d utilisateur ben tu dois retoucher le code
b) Soit utiliser encore un autre fichier xml qui te fais la correspondance entre le type d utilisateur et le fichier à charger.
- Apres tu charge ton fichier, tu construit ton menu et ton appli tourne (pense aux factory comme je t ai conseillé avant)

Pour ce qui est des outils pour parser du xml Ombitious_Developper t en a montré pleins et franchement y a plétore (tain j aime bien ce mot) de tutoriaux sur le net qui te montreront comment faire tout ca, là faudra chercher un peu mais c est aussi le boulot en info de trouver de la doc !

++ Toinou

Merci super_toinou 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 92 internautes ce mois-ci

Commenter la réponse de super_toinou
Ombitious_Developper 2333 Messages postés samedi 28 février 2004Date d'inscription 26 juillet 2013 Dernière intervention - 27 mars 2007 à 01:38
0
Merci
Salut:

"extraire" à partir du code source ou du bytecode.

Pourquoi ne pas rendre ton application plus dynamique dans le sens ou les menus à afficher pour un rôle donné soit en temps d'exécution [runtime].

Sans à se casser la tête quel menu laisser accessible et quel menu afficher.

Tu peux faire une sorte de fichier de configuration.


________________________________________________________________________________
A.B. : 
"Dieu nous donne des mains, mais il ne bâtit pas les ponts
Commenter la réponse de Ombitious_Developper
Ombitious_Developper 2333 Messages postés samedi 28 février 2004Date d'inscription 26 juillet 2013 Dernière intervention - 27 mars 2007 à 01:54
0
Merci
Salut:

J'espère avoir un peu compris ton problème.


________________________________________________________________________________
A.B. : 
"Dieu nous donne des mains, mais il ne bâtit pas les ponts
Commenter la réponse de Ombitious_Developper
firas_tn 128 Messages postés mardi 11 janvier 2005Date d'inscription 19 avril 2007 Dernière intervention - 27 mars 2007 à 14:09
0
Merci
Merci pour votre réponse, enfait,c vrai que faire un fichier de configuration est plus simple mais le probleme c'est que je dois développer une application qui permet d'extraire ces éléments, je ne sais pas , enfait j'ai vu pas mal de stratégies de sécurité qui parle de ça comme ACEGI mais elle ne traire que l'authentification sur une application ou le filtrage d'accées mais moi je ve dois extraire d'abord à partir du CODE SOURCE tous les éléments de l'interface puis les répartir ensuite suivant les rôles des utilisateurs.
j'espere que vous m'avez bien compris en attendant toujours votre aide je vous remercie encore une fois
Commenter la réponse de firas_tn
firas_tn 128 Messages postés mardi 11 janvier 2005Date d'inscription 19 avril 2007 Dernière intervention - 27 mars 2007 à 14:24
0
Merci
Pour être plus précis l'extraction doit se faire au niveau de la barre de menu de l'application ainsi que les sous menus, on extrait tous les éléments qui peuvent être des MenuItem normalement ensuite l'affichage de ces menus doit être suivant les roles de l'utilisateur qui va se connecter
Merci
Commenter la réponse de firas_tn
Ombitious_Developper 2333 Messages postés samedi 28 février 2004Date d'inscription 26 juillet 2013 Dernière intervention - 27 mars 2007 à 15:26
0
Merci
Salut Ami:

Comme il s'agit de scanner le code source il faut que tu programme ton propre parseur de fichiers source pour extraire une structure de données arborescente ou un fichier XML contenant tous les JMenu et les JMenuItem et le JMenuBar.

A présent je n'ai pas un parseur sous la main, mais je te conseille de chercher des exemples de code sources de parseurs en Java OpenSource pour en prende comme point de départ.

Autre conseille, jettes un coup d'oeil sur la classe "StreamTokenizer" c'est bon parseur de flux qui extrait des tokens (nombres, texte, ...) suivant une table syntaxique.

Bonne chance ...
________________________________________________________________________________
A.B. : 
"Dieu nous donne des mains, mais il ne bâtit pas les ponts"
Commenter la réponse de Ombitious_Developper
super_toinou 764 Messages postés mardi 25 mai 2004Date d'inscription 8 mars 2011 Dernière intervention - 27 mars 2007 à 15:29
0
Merci
Yopla,

ca me dis bien de t aider mais la il faudrai un peu plus de précisions :
- ton application doit etre externe à tout programme java et agir "a distance" sur l affichage ou non des MenuItem ou ton application possede des MenuItem que tu veux désactiver ??
- Tu récupère ou les infos du gas qui utilise l appli pour apres aller voir en BD ses droits.
- Tu dois scanner le bytecode ou tu peux introspecter ton application ???

++ Toinou
Commenter la réponse de super_toinou
Ombitious_Developper 2333 Messages postés samedi 28 février 2004Date d'inscription 26 juillet 2013 Dernière intervention - 27 mars 2007 à 15:30
0
Merci
Salut:

En réflichissant bien, du dois raisonner sur:
1. Toutes les déclarations de variables/attributs de l'un des types suivant:
JMenuBar, JMenu, JMenuItem.
(C'est la première phase de détermination de tous les composants de ton menu)

2. La deuxième étape est de déterminer les relation de parenté (parent-enfant)
qui s'exprime via la méthode add (). Comme ça tu crées tous les chainages possibles.

3. J'espère que mes idées simplistes peuvent t'aider. 

________________________________________________________________________________
A.B. : 
"Dieu nous donne des mains, mais il ne bâtit pas les ponts
Commenter la réponse de Ombitious_Developper
firas_tn 128 Messages postés mardi 11 janvier 2005Date d'inscription 19 avril 2007 Dernière intervention - 27 mars 2007 à 15:56
0
Merci
Merci tous pour votre réponse et pour vous répondre super_toinou ;
Mon application doit être externe à une application java(une seule) et qui doit être utilisé par un administrateur qui lui seul pourra attribuer les droits à des utilisateurs donc notre application doit scanner une application ke nous avons le code source qui contient un login et mot de passe au debut ensuite un menu s'affiche suivant l'utilisateur connecté et nous voulons que ce menu ainsi que ses fonctionnalités soit paramétrable suivant les drois qui vont être affectés par l'administrateur
j'espere que vous pouvez m'aider mnt et merci beaucoup a vous tous
Commenter la réponse de firas_tn
firas_tn 128 Messages postés mardi 11 janvier 2005Date d'inscription 19 avril 2007 Dernière intervention - 27 mars 2007 à 16:00
0
Merci
Voila maintenant c plus clair l'application que mon programme dois scanner plus exactement est une application de gestion de scolarité désolé de ne pa etre clair au début parce que mon encadreur ne m'as pas bien eqpliqué ça au début donc il s'agit d'une seule application qu'on va scanner et administrer
Merci
Commenter la réponse de firas_tn
firas_tn 128 Messages postés mardi 11 janvier 2005Date d'inscription 19 avril 2007 Dernière intervention - 27 mars 2007 à 16:43
0
Merci
Merci bcp Ombitious_Developper je vais bien penser à cette solution
Commenter la réponse de firas_tn
super_toinou 764 Messages postés mardi 25 mai 2004Date d'inscription 8 mars 2011 Dernière intervention - 27 mars 2007 à 16:53
0
Merci
Yop yop,

en fait y a un truc que j pige pas dans l histoire, tu dois pouvoir restreindre certaines parties d'une appli sans la toucher. Donc tu doit par exemple virer des menus items alors que t as pas la main sur le code source ???
J suis d accord avec Ombitious_Developper pour le menu mais si ton appli totalement externe a pas un menu comme ca comment tu vas faire ??? Tu peux pas y toucher !!
Bref ca m a l air un peu mystique ton projet. Tu veux a distance, alors que les deux programmes s executent dans des JVM différentes cacher ou 'disabler' une partie de l appli alors que rien ne te garanti par exemple que les bouttons soient accessibles (genre il sont private sans getter).

En gros la je sèche !
++ Toinou
Commenter la réponse de super_toinou
firas_tn 128 Messages postés mardi 11 janvier 2005Date d'inscription 19 avril 2007 Dernière intervention - 27 mars 2007 à 17:31
0
Merci
Merci pour votre réponse
oui super_toinou vous avez raison je pense que je dois changer l'idée de l'application externe c'est evident car comme vous dites je dois agir sur les composants de l'application source suivant l'utilisateur donc qu'est ce que vous me proposez super_toinou pour rémédier à ça? normalement l'administrateur donc à doit se connecter comme tout autre utlisisateur ensuite il aura une interace différente des autres avec des foncionnalité d'administration des droits et tout ça bon dans ce cas vous pouvez me dire maintenant comment j'extrait les éléments sans avoir recours à un fichier xml en ayant la main sur le code source mnt?
Commenter la réponse de firas_tn
super_toinou 764 Messages postés mardi 25 mai 2004Date d'inscription 8 mars 2011 Dernière intervention - 27 mars 2007 à 17:40
0
Merci
Yopla,

ben t as plusieurs solutions, des jolies et des moches, rapides, moins rapide. Si tu veux pas toucher un fichier XML alors a la limite t as qu'a utiliser une factory de menu et suivant les droits de l'utilisateur le menu sera construit différemment. Faudra juste que dans le code où il construise le menu, tu greffe l appel à la factory qui elle te construire correctement le menu. Ce sera ta factory qui ira voir en base les droits de l utilisateur et qui renverra un menu standard ou un menu admin
Il n empeche la solution d'Ombitious_Developper est pas mal du tout aussi, décrire dans un fichier xml la tronche du menu et la charger apres te permettra de ne pas toucher le code pour changer le menu. Dans ce cas suivant l utilisateur tu chargera tel ou tel fichier qui représentera ton menu.

++ Toinou
Commenter la réponse de super_toinou
firas_tn 128 Messages postés mardi 11 janvier 2005Date d'inscription 19 avril 2007 Dernière intervention - 27 mars 2007 à 20:02
0
Merci
Merci pour votre réponse
Bon je pense maintenant je vais me mettre a voir comment utiliser ce fichier xml,
j'aimerai que vous m'expliquiez encore un peu svp, dans mon cas donc je dois utiliser un fichier xml pour décrire mon menu complet et la gestion des utilisateurs/menus doit être décrite dans d'autres fichiers java selon le type du menu défini pour chaque utilisateur c'est ça?
si vous pouvez me donner un site qui explique l'utilisation d'un fichier xml avec une application java ça serait gentil de votre part
Merci encore une fois pour votre aide
Commenter la réponse de firas_tn
Twinuts 5282 Messages postés dimanche 4 mai 2003Date d'inscription 19 octobre 2018 Dernière intervention - 28 mars 2007 à 10:46
0
Merci
Salut,

[auteurdetail.aspx?ID=283222 super_toinou]>c'est Pléthore et non plétore
Pléthore: subst. fém. Abondance excessive

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
Commenter la réponse de Twinuts
super_toinou 764 Messages postés mardi 25 mai 2004Date d'inscription 8 mars 2011 Dernière intervention - 28 mars 2007 à 11:57
0
Merci
Hey twinuts !!

merci pour la correction, il est vrai que c est important que notre belle langue française soit respectée scrupuleusement sur ce forum (j'écris ceci avec une main sur le c'ur en écoutant la marseillaise) !!

Pour m en assurer je vais donc faire une passe sur les posts (tout particulièrement les tiens...) pour vérifier tout ça !! ;-)

^^
++ Toinou
PS: j'ai passé mon post au correcteur orthographique d'Outlook normalement ca devrait être bon !!
Commenter la réponse de super_toinou
Twinuts 5282 Messages postés dimanche 4 mai 2003Date d'inscription 19 octobre 2018 Dernière intervention - 28 mars 2007 à 12:17
0
Merci
Salut,

lol nan mais je suis une quiche en français, j'ai appris c/c++ en LV1 et java en LV2 et la je prend des cours du soir pour le français ;), si je t'ai corrigé c'est juste que je ne connaissais pas ce mot et google à corrigé l'orthographe :), fin bon pour ce qui est du français c'est sûr qu'il serait bien que certains se force un minimum....

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
Commenter la réponse de Twinuts
firas_tn 128 Messages postés mardi 11 janvier 2005Date d'inscription 19 avril 2007 Dernière intervention - 29 mars 2007 à 00:03
0
Merci
Merci beaucoup pour votre réponse tous vous m'avez aidé vraiment
Commenter la réponse de firas_tn

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.