Présentation du cours. Sécurité dans Java EE. Plan (1/2) Plan (2/2) Généralités sur la sécurité

Dimension: px
Commencer à balayer dès la page:

Download "Présentation du cours. Sécurité dans Java EE. Plan (1/2) Plan (2/2) Généralités sur la sécurité"

Transcription

1 Présentation du cours Sécurité dans Java EE Université de Nice - Sophia Antipolis Richard Grin Version /9/13 Ce cours montre comment sécuriser une application Java EE : réserver l accès de pages Web ou de méthodes d EJB à certains utilisateurs Toute la sécurité n est pas standardisée dans Java EE ; pour les parties non standardisées, des exemples de configuration sont donnés pour le serveur d application GlassFish R. Grin Sécurité Java EE page 2 Plan (1/2) Généralités sur la sécurité Présentation de la sécurité dans Java EE Déclaration des rôles Authentification Protection des pages Web Protéger les méthodes des EJB Code Java pour la sécurité Configuration de GlassFish Plan (2/2) Un exemple avec template Logs dans GlassFish mise au point Gérer les mots de passe R. Grin Sécurité Java EE page 3 R. Grin Sécurité Java EE page 4 Généralités sur la sécurité Réserver des parties d une application à certains utilisateurs implique de gérer n l authentification des utilisateurs n la vérification des autorisations R. Grin Sécurité Java EE page 5 R. Grin Sécurité Java EE page 6 1

2 2 Authentification Obtenir l identité des utilisateurs et vérifier qu un utilisateur est bien celui qu il prétend être Le plus souvent, il s agit de demander le nom et le mot de passe de l utilisateur Autorisation Lorsqu un utilisateur est entré dans l application, vérifier qu il a bien le droit n d accéder aux ressources (pages Web, base de données, ) n d accomplir des actions sur ces ressources (par exemple les consulter, les modifier, les supprimer) n de lancer des opérations R. Grin Sécurité Java EE page 7 R. Grin Sécurité Java EE page 8 Transport des informations Protéger les informations qui transitent sur le réseau contre des personnes non autorisés : n empêcher la lecture des données confidentielles n repérer qu une information transmise a été modifiée par une tierce personne avant d arriver à destination Ce support n abordera que l authentification par mot de passe et les autorisations Il n abordera pas, par exemple, l étude des certificats et de la signature des documents Les transparents suivants donnent la terminologie habituelle liée à la sécurité R. Grin Sécurité Java EE page 9 R. Grin Sécurité Java EE page 10 Utilisateur L utilisateur d une application est identifié par des «pièces d identité», credentials en anglais, qui prouvent son identité Le plus souvent la saisie d un nom de login et d un mot de passe prouve l identité d un utilisateur L utilisateur peut correspondre à une personne ou à une (partie d une) application informatique Principal Une fois qu il est authentifié, l utilisateur devient un principal (terme anglais qui signifie mandant, commettant) au nom duquel il effectuera des opérations dans l application Un principal peut être un utilisateur, un groupe d utilisateurs, ou autre, qui a été défini dans l environnement opérationnel d exécution R. Grin Sécurité Java EE page 11 Richard Grin EJB page 12

3 3 Rôle La politique de sécurité des serveurs d application repose sur la notion de rôle Exemples de rôle : administrateur, organisateur, participant, chef de service Un principal / utilisateur peut avoir un ou plusieurs rôles dans une application Un rôle donne des droits aux utilisateurs qui ont ce rôle La notion de rôle augmente la portabilité de l application puisqu on ne fait aucune prévision sur l existence d utilisateurs particuliers R. Grin Sécurité Java EE page 13 Rôles d un utilisateur C est celui qui déploie l application qui associe ces rôles La manière dont un rôle est associé à un utilisateur n est pas standard et dépend du serveur d application Tomcat et GlassFish définissent des groupes d utilisateurs et il est possible de les configurer pour qu un groupe corresponde à un rôle (voir section «Configuration GlassFish» plus loin dans ce support) R. Grin Sécurité Java EE page 14 Groupes d utilisateurs Les utilisateurs sont souvent regroupés en groupes qui ont les mêmes types d autorisation, ce qui facilite l attribution de rôles aux utilisateurs (on peut donner en bloc un rôle à tous les membres d un groupe) Par exemple, le groupe des utilisateurs enregistrés, le groupe des visiteurs non enregistrés, le groupe des administrateurs R. Grin Sécurité Java EE page 15 Realm domaine de sécurité Pour authentifier les utilisateurs, les serveurs d application doivent conserver des informations sur ces utilisateurs Un domaine de sécurité (realm), identifié par son nom, définit comment ces informations sont conservées, et comment on les utilise pour l authentification (voir balise <login-config> de web.xml) ; la définition d un realm n est pas standardisée Exemples : domaine défini par un fichier des mots de passe, par des tables relationnelles, par un registre LDAP, par des certificats informatiques R. Grin Sécurité Java EE page 16 Intervenants dans le processus de développement Le développeur écrit l application et indique les rôles nécessaires pour les ressources protégées L administrateur du serveur d application gère les utilisateurs et les groupes d utilisateurs Celui qui déploie l application dans le serveur d application indique la correspondance entre les utilisateurs et groupe d utilisateurs et les rôles définis par l application (le plus souvent en utilisant les fichiers de déploiement) Présentation de la sécurité dans Java EE R. Grin Sécurité Java EE page 17 R. Grin Sécurité Java EE page 18

4 Principe général Écrire du code pour la sécurité est très complexe et il est préférable de s appuyer le plus possible sur les facilités offertes par les serveurs d application Richard Grin EJB page 19 Déclaration ou programmation Java EE permet d implémenter une politique de sécurité de façon déclarative ou par programmation Java Le plus simple est d utiliser les déclarations (annotations Java ou fichiers de déploiement XML) pour indiquer comment les ressources sont protégées Si la façon déclarative ne suffit pas, il est possible de programmer les cas les plus complexes en Java R. Grin Sécurité Java EE page 20 Déclaration Les annotations permettent d écrire les informations sur la politique de sécurité directement dans le code Java des EJB ou des servlets Il n est pas toujours possible d utiliser une annotation ; en ce cas les informations de sécurité sont décrites dans des balises des fichiers de déploiement Toutes les annotations ont leur pendant sous forme de balise XML ; en cas de contradiction, une information dans un fichier de déploiement l emporte sur une annotation R. Grin Sécurité Java EE page 21 Fichiers de déploiement Fichiers standards qui ne dépendent pas du serveur d application : web.xml (module Web), ejb-jar.xml (module EJB), application.xml (module application qui peut regrouper plusieurs modules dans un fichier EAR) Chaque serveur d application peut aussi avoir ses propres fichiers de déploiement pour les informations non standardisées ; pour GlassFish, glassfish-web.xml, glassfish-ejb-jar.xml, glassfish-application-web.xml R. Grin Sécurité Java EE page 22 Types de déclarations Java EE permet de déclarer n les rôles utilisés par l application n la façon d authentifier les utilisateurs n les pages Web protégées et les rôles qui y ont accès n les classes ou méthodes Java protégées et les rôles qui y ont accès R. Grin Sécurité Java EE page 23 JAAS La sécurité en Java EE est basé sur Java Authentication and Authorization Service (JAAS) qui est inclus dans Java SE (voir cours sur la sécurité en Java pour plus de détails) JAAS est centré sur l utilisateur : il permet de donner des permissions en se basant sur l utilisateur qui exécute le code JAAS s appuie sur la notion de modules de login qui permettent d authentifier l utilisateur en utilisant un certain mode (par exemple en consultant une base de données) R. Grin Sécurité Java EE page 24 4

5 Nous allons tout d abord étudier comment définir les rôles puis comment authentifier un utilisateur Nous verrons enfin comment protéger des pages Web, puis comment restreindre l accès à des méthodes Java L attribution de rôles à un utilisateur n est pas standardisée ; elle sera étudiée pour le cas de GlassFish Déclaration des rôles R. Grin Sécurité Java EE page 25 R. Grin Sécurité Java EE page 26 Déclaration des rôles Un rôle doit être déclaré avant d être utilisé On peut le faire avec une annotation ou dans un fichier de déploiement XML Annotations pour les rôles On verra pour protéger l accès à des déclare automatiquement les rôles concernés Dans des cas complexes, l peut être utile pour utiliser le nom d un rôle dans une classe, sans que le rôle ne soit déclaré par ailleurs R. Grin Sécurité Java EE page 27 R. Grin Sécurité Java EE page 28 Annotation pour déclarer des rôles L peut être mise sur un EJB ou un servlet, au niveau de la classe Elle peut prendre en paramètre un nom de rôle ou une liste de noms de rôle (entourée par des accolades) La casse (majuscules minuscules) est significative dans les noms de rôle R. Grin Sécurité Java EE page public class "membre", "visiteur") public class MonBean private SessionContext sc; public void m() { if (sc.iscallerinrole("membre")... R. Grin Sécurité Java EE page 30 5

6 6 Balise pour déclarer des rôles Plusieurs balises <security-role> peuvent être mises directement sous la balise racine (web-app, ejb-jar ou application) Exemple : <security-role> <description>administrateur</description> <role-name>admin</role-name> </security-role> <security-role> <role-name>membre</role-name> </security-role> Référence d un rôle Le développeur utilise des noms de rôle dans son code lorsqu il écrit un module Java EE S il réutilise son module dans plusieurs applications, un nom de rôle peut avoir un autre nom dans les autres modules Avec la balise <security-role-ref> il est possible de définir un alias pour un nom de rôle, pour faire correspondre le rôle du module avec un rôle de l environnement d exécution R. Grin Sécurité Java EE page 31 R. Grin Sécurité Java EE page 32 Exemple d alias pour un rôle Le responsable du déploiement indiquera le rôle de l environnement de déploiement (Controleur) associé au rôle indiqué par le développeur d EJB (Admin) : <security-role-ref> <description>... </description> <role-name>admin</role-name> <role-link>controleur</role-link> </security-role-ref> Si l utilisateur a le rôle Controleur, isuserinrole("admin") retourne true Authentification Richard Grin Sécurité Java EE page 33 R. Grin Sécurité Java EE page 34 Type d authentification Si l utilisateur veut accéder à une page Web protégée et qu il n est pas déjà enregistré, le container Web cherche à l authentifier Le plus souvent l utilisateur s authentifie en tapant son login et son mot de passe pour l application dans un formulaire Un certificat peut aussi être utilisé pour l authentification (mode CLIENT-CERT), à la place du login/mot de passe Déclaration du type d authentification Pas d annotation, il faut configurer avec la balise <login-config> sous la balise racine du fichier web.xml 2 sous-balises : n <auth-method> définit le mode d authentification n <realm-name> indique le domaine de sécurité dans lequel les informations pour l authentification seront cherchées ; il peut y en avoir plusieurs dans une application R. Grin Sécurité Java EE page 35 R. Grin Sécurité Java EE page 36

7 7 Exemple <login-config> <auth-method>basic</auth-method> <realm-name>candidatures</realm-name> </login-config> R. Grin Sécurité Java EE page 37 Valeurs par défaut Par défaut, le mode d authentification est le mode BASIC : le login et le mot de passe sont demandés à l utilisateur par un formulaire affiché par le navigateur (ils transitent en clair sur le réseau) La valeur par défaut pour <realm-name> dépend du serveur d application Ce type risque de poser des problèmes car le navigateur garde souvent des informations sur l utilisateur qui vient de se connecter ; préférer le mode FORM R. Grin Sécurité Java EE page 38 Autres modes d authentification Plusieurs autres modes d authentification, en plus du mode par défaut BASIC : n FORM : utilisation d un formulaire écrit par le développeur dans une page Web pour obtenir le login et le mot de passe n DIGEST : utilisation d un hachage pour le transport du mot de passe (MD5 par exemple) n CLIENT-CERT : utilisation d un certificat Exemple <login-config> <auth-method>form</auth-method> <realm-name>candidatures</realm-name> <form-login-config> <form-login-page>/faces/login.xhtml</formlogin-page> <form-error-page>/faces/noaut.xhtml</formerror-page> </form-login-config> </login-config> R. Grin Sécurité Java EE page 39 R. Grin Sécurité Java EE page 40 Mode FORM - pages <form-login-config> ne sert que si <auth-method> a la valeur FORM, pour indiquer la page qui contient le formulaire de login et celle qui est affichée si le login et le mot de passe saisis ne sont pas bons R. Grin Sécurité Java EE page 41 Mode FORM - formulaire de login Si on choisit le mode FORM, le formulaire écrit par le développeur a des contraintes de nom pour n l action exécutée lorsque le formulaire est soumis (j_security_check) n les noms des champs qui contiennent le login (j_username) et le mot de passe (j_password) Ces contraintes vont permettre au container de vérifier le login et le mot de passe suivant le domaine de sécurité choisi par le développeur R. Grin Sécurité Java EE page 42

8 8 Exemple de formulaire HTML <form method="post" action="j_security_check"> Login : <input type="text" name="j_username"/> Mot de passe : <input type="password" name="j_password"/> <input type="submit" value="login"/> </form> R. Grin Sécurité Java EE page 43 Exemple de formulaire JSF <form method="post" action="j_security_check"> <h:panelgrid columns="2"> <h:outputlabel for="j_username" value="login" /> <h:input id="j_username" /> <h:outputlabel for="j_password" value="mot de passe" /> <h:inputsecret id="j_password"/> <h:commandbutton id="submit" value="login" /> </h:panelgrid> </form> R. Grin Sécurité Java EE page 44 Exemple de page d erreur <html> <head> <title>echec de l'authentification</title> </head> <body> <p>désolé, vous n'avez pas tapé des bons login et mot de passe. Essayez à nouveau. </p> </body> </html> La méthode que l on vient de voir est la façon la plus simple de filtrer les accès à une application Elle convient le plus souvent mais elle a des contraintes importantes (les action et propriétés pour enregistrer les login et mots de passe sont imposés) Depuis JSF 2.0, le développeur peut choisir une autre solution plus souple mais plus complexe à programmer R. Grin Sécurité Java EE page 45 R. Grin Sécurité Java EE page 46 Méthode HttpServletRequest.login() Depuis JSF 2.0, il est possible de récupérer le nom et le mot de passe comme on le souhaite et de passer les valeurs à la méthode login(string nom, String mdp) de la classe HttpServletRequest pour s authentifier auprès du container (lance une ServletException si déjà connecté ou mauvais login/mot de passe). Utilisation login formulaire <h:form> Login : <h:inputtext value="#{login.login" required="true" /> <p/> Mot de passe : <h:inputsecret value="#{login.mdp" required="true" /> <p/> <h:commandbutton value="connexion" action="#{login.submit"> <f:ajax /> </h:commandbutton> <h:messages globalonly="true" /> </h:form> R. Grin Sécurité Java EE page 47 R. Grin Sécurité Java EE page 48

9 9 Remarque sur le code Le code du backing bean de la solution avec la méthode login est un peu complexe ; il tire parti du fait que le container utilise un forward pour faire afficher la page qui contient le formulaire de login Pour avoir l URI de la page que voulait l utilisateur, il faut utiliser l attribut de la requête RequestDispatcher.FORWARD_REQUEST_URI Merci à BalusC (expert JSF) pour l information Utilisation login public class Login { private String login, mdp; private String public void init() { uri = (String) FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get(RequestDispatcher.FORWARD_REQUEST_URI); R. Grin Sécurité Java EE page 49 R. Grin Sécurité Java EE page 50 Utilisation login backing bean public void submit() throws IOException { FacesContext context = FacesContext.getCurrentInstance(); HttpServletRequest request = (HttpServletRequest) context.getexternalcontext().getrequest(); try { request.login(login, mdp); context.redirect(uri); catch (ServletException e) { facescontext.addmessage(...); R. Grin Sécurité Java EE page 51 Déconnexion L authentification de l utilisateur est valable pour toute la session de travail HTTP Avec le mode d authentification FORM, il est possible de faire sortir l utilisateur de la session de travail avec la méthode logout() de la classe HttpServletRequest Cette méthode peut être appelée, par exemple, dans la méthode action d un bouton sur lequel l utilisateur peut cliquer pour se déconnecter Un exemple d utilisation est donné dans la section «Code Java pour la sécurité» de ce support R. Grin Sécurité Java EE page 52 SSL Les login et mot de passe seront passés en clair sur le réseau Il est possible d utiliser SSL pour les protéger Voir la section «Protection des pages Web» Gestion des utilisateurs La gestion des utilisateurs (ajout d un nouvel utilisateur, modification, ) et la conservation des informations sur les utilisateurs dépend du serveur d application La section «Sécurité avec GlassFish» donne un exemple d utilisation du serveur GlassFish R. Grin Sécurité Java EE page 53 R. Grin Sécurité Java EE page 54

10 Changer l id d une session Pour éviter certaines formes de piratage, il peut être nécessaire de changer l id d une session en cours de session Servlet 3.1 facilite ce changement de id avec : n la méthode String changesessionid() dans HttpServletRequest retourne le nouvel id de la session n une interface écouteur HttpSessionIdListener qui est prévenue quand l id de la session change R. Grin Sécurité Java EE page 55 Les sections suivantes montrent comment réserver l accès des pages Web et des méthodes Java des EJB ou des servlets aux utilisateurs qui ont un certain rôle Ensuite, il est montré comment configurer GlassFish pour les parties qui dépendent du serveur d application R. Grin Sécurité Java EE page 56 Utilité Protection des pages Web Le plus souvent des pages Web (définies par des URL) ne doivent être accessibles que par certains utilisateurs ou dans certaines circonstances Cette section explique comment restreindre l accès d une partie des pages d une application à certains utilisateurs R. Grin Sécurité Java EE page 57 R. Grin Sécurité Java EE page 58 Erreurs HTTP pour la sécurité Lorsqu un utilisateur veut accéder à une page protégée, il peut arriver les erreurs suivantes : n erreur HTTP 401, Unauthorized, si l utilisateur ne fournit pas les credentials (le plus souvent le bon mot de passe) n erreur HTTP 403, Forbidden, si l utilisateur a fournit les bons credentials mais n a pas l autorisation d accéder à la page Schéma de protection Le plus simple est d utiliser le système de sécurité offert par les containers de page Web des serveurs d application Il est simple de grouper les pages à protéger dans un ou plusieurs répertoires et de filtrer l accès à ces répertoires Pour les cas plus complexes de filtrage, il est possible de coder le filtrage directement dans le code Java de l application R. Grin Sécurité Java EE page 59 R. Grin Sécurité Java EE page 60 10

11 Déclaration des protections La protection est déclarée dans le fichier web.xml par des contraintes de sécurité déclarées sur des ressources (les pages Web désignées par des modèles d URL) Il est aussi possible de déclarer des contraintes de sécurité dans un servlet (si l application en a un) avec l contenue dans une Notions utilisées L application peut définir des contraintes de sécurité (<security-constraint>) Elles restreignent l accès à des ressources (page Web définies par leur URL) aux seuls utilisateurs qui ont un certain rôle (plusieurs rôles peuvent être indiqués) Lorsqu un utilisateur veut accéder à une ressource protégée, il doit être authentifié et il peut accéder à la ressource s il a les rôles requis par la ressource R. Grin Sécurité Java EE page 61 R. Grin Sécurité Java EE page 62 Contraintes de sécurité Les sous balises de <security-constraint> : n <web-resource-collection> indique les URLs des pages (<url-pattern>) et les méthodes HTTP protégées (<http-method>) n <auth-constraint> indique les rôles qui permettent d accéder aux pages n <user-data-constraint> indique comment sont protégées les données échangées entre le client et le serveur (aucune protection par défaut) Exemple <security-constraint> <web-resource-collection> <web-resource-name>r1</web-resource-name> <url-pattern>/liste.xhtml</url-pattern> </web-resource-collection> <auth-constraint> <role-name>employe<role-name> <role-name>drh<role-name> </auth-constraint> </security-constraint> R. Grin Sécurité Java EE page 63 R. Grin Sécurité Java EE page 64 <url-pattern> Les pages protégées sont désignées par la sousbalise <url-pattern> qui donne un chemin qui peut comporter le joker * 3 Formats possibles pour un url-pattern : n commence par / et se termine par /* (toute page située sous le répertoire qui précède «/*», à n importe quelle profondeur n commence avec *. et se termine par un caractère (par exemple *.jsf) n commence par / et ne comporte pas de * R. Grin Sécurité Java EE page 65 Exemple - JSF <security-constraint> <web-resource-collection> <web-resource-name>p1</web-resource-name> <url-pattern>/faces/candids/*</url-pattern> <url-pattern>/candids/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>admin</role-name> <role-name>rsr</role-name> </auth-constraint> </security-constraint> R. Grin Sécurité Java EE page 66 11

12 12 <http-method> L accès est protégé pour toutes les méthodes HTTP si cette balise est omise Si cette balise est présente, la protection ne concerne que la méthode indiquée (GET et POST pour l exemple suivant) Exemple <security-constraint> <web-resource-collection> <web-resource-name>r1</web-resource-name> <url-pattern>/liste.xhtml</url-pattern> <http-method>get</http-method> <http-method>post</http-method> </web-resource-collection> <auth-constraint> <role-name>employe<role-name> </auth-constraint> </security-constraint> R. Grin Sécurité Java EE page 67 R. Grin Sécurité Java EE page 68 <http-method> - erreur à éviter Si une balise est présente, la protection ne concerne que la méthode indiquée (ici GET) Une erreur serait de croire que l accès est protégé pour les autres méthodes ; il faut donc écrire une autre contrainte de sécurité qui interdit les autres méthodes en utilisant éventuellement la balise <http-method-omission> Servlet 3.1 facilite ceci avec <deny-uncovered-http-methods/> Exemple avant Servlet 3.1 Il faut ajouter la contrainte suivante : <security-constraint> <web-resource-collection> <web-resource-name>r1</web-resource-name> <url-pattern>/liste.xhtml</url-pattern> <http-method-omission>get</http-method-omission> <http-method-omission>post</http-method-omission> </web-resource-collection> <auth-constraint/> </security-constraint> R. Grin Sécurité Java EE page 69 R. Grin Sécurité Java EE page 70 Exemple depuis Servlet 3.1 Il suffit de modifier la 1 ère contrainte ainsi : <deny-uncovered-http-methods/> <security-constraint> <web-resource-collection> <web-resource-name>r1</web-resource-name> <url-pattern>/liste.xhtml</url-pattern> <http-method>get</http-method> <http-method>post</http-method> </web-resource-collection> <auth-constraint> <role-name>employe<role-name> </auth-constraint> </security-constraint> Lien vers une page protégée C est l URL de la page que l on veut afficher qui est comparé aux patterns des pages protégées Si une page contient un lien vers une page protégée, il faut écrire ce lien avec les composants <h:outputlink>, <h:button> ou <h:link>, ou ajouter une redirection à un un lien avec un composant <h:commandbutton> ou <h:commandlink> R. Grin Sécurité Java EE page 71 R. Grin Sécurité Java EE page 72

13 13 Attention, pas de forward interne! Un forward interne au serveur (méthode forward de RequestDispatcher) ne déclenche pas une vérification des contraintes de sécurité puisque l URL n est pas modifié Ce qui signifie qu un <h:commandbutton> ou un <h:commandlink> (sans redirection) vers une page protégée donnera accès à la page, même si l utilisateur n a pas l autorisation d accès à cette page <auth-constraint> L autorisation sera accordée si l utilisateur a un des rôles indiqués «*» indique que tous les rôles sont acceptés «**» indique que tous les utilisateurs authentifiés sont acceptés (ajouté par Java EE 7) S il y a une balise <auth-constraint> mais aucune sous-balise <role-name>, les pages ne pourront être accédée par aucun utilisateur R. Grin Sécurité Java EE page 73 R. Grin Sécurité Java EE page 74 Exemple <security-constraint> <web-resource-collection> <web-resource-name>r1</web-resource-name> <url-pattern>/liste.xhtml</url-pattern> </web-resource-collection> <auth-constraint> <role-name>**<role-name> </auth-constraint> </security-constraint> <user-data-constraint> La balise <user-data-constraint> peut être ajoutée dans une balise <security-constraint> pour indiquer que la connexion avec les pages protégées utilisera le protocole HTTPS Elle contient une balise <transport-garantee> dont la valeur peut être égale à NONE (valeur par défaut), CONFIDENTIAL ou INTEGRAL R. Grin Sécurité Java EE page 75 R. Grin Sécurité Java EE page 76 Valeurs pour <transport-garantee> CONFIDENTIAL : les données transmises ne peuvent être vues par des tiers INTEGRAL : les données transmises ne peuvent être modifiées par des tiers NONE : pas de protection particulière En pratique, les 2 modes CONFIDENTIAL et INTEGRAL sont traités de la même façon par les serveurs d application (utilisation de HTTPS) Il est déconseillé de repasser en mode «normal» après être passé en mode «SSL» ; si on veut le faire tout de même, il est nécessaire d écrire du code R. Grin Sécurité Java EE page 77 Exemple <security-constraint> <web-resource-collection> <web-resource-name>r1</web-resource-name> <url-pattern>/faces/restr/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>employe<role-name> </auth-constraint> <user-data-constraint> <transport-guarantee> CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint> R. Grin Sécurité Java EE page 78

14 Avec les servlets Dans le cas des applications qui n utilisent pas les EJB, on peut utiliser les fichiers de configuration mais il est aussi possible de configurer la sécurité avec l Les transparents suivant donne des exemples @HttpConstraint(rolesAllowed={"r1", "r2")) public class MaServlet extends HttpServlet L URL /monurl sera réservée aux utilisateurs qui ont le rôle «r1» ou le rôle «r2» R. Grin Sécurité Java EE page 79 R. Grin Sécurité Java EE page 80 transportguarantee= ServletSecurity.TransportGuarantee.CONFIDENTIAL), value="trace", transportguarantee= ServletSecurity.TransportGuarantee.NONE, rolesallowed={"r1") ) public class MaServlet extends HttpServlet Protéger les méthodes des EJB R. Grin Sécurité Java EE page 81 R. Grin Sécurité Java EE page 82 Par déclaration Par défaut, toutes les méthodes sont accessibles à tous les utilisateurs Il est possible de restreindre l accès n avec une annotation n avec les fichiers de déploiement XML Les fichiers XML l emportent sur les annotations Annote une méthode ou une classe (concerne alors toutes les méthodes de la classe) protégée En paramètre, un seul rôle ou plusieurs rôles de type String entourés d accolades (les utilisateurs ayant un des rôles peuvent utiliser la méthode ou la "role1", "role2" ) R. Grin Sécurité Java EE page 83 R. Grin Sécurité Java EE page 84 14

15 15 Peut annoter une classe ou une méthode ; elle indique que toutes les méthodes de la classe annotée, ou la méthode annotée, sont autorisées à tous les utilisateurs Si la classe est protégée, cette annotation permet d exclure une méthode de la protection : tous les utilisateurs seront autorisés à utiliser la méthode annotée Ne peut annoter qu une méthode ; elle indique que la méthode annotée n est accessible par aucun utilisateur Cette annotation est rarement utilisée car la méthode annotée ne pourra pas être utilisée à l intérieur d un container Java EE R. Grin Sécurité Java EE page 85 R. Grin Sécurité Java EE page 86 Exemple de déclarations (1/2) <ejb-jar> <assembly-descriptor> <security-role> <description>employés chargés des clients </description> <role-name>caissier</role-name> </security-role> <security-role> <description>contrôleur</description> <role-name>controleur</role-name> </security-role> R. Grin Sécurité Java EE page 87 Exemple de déclarations (2/2) <method-permission> <role-name>controleur</role-name> <method> <ejb-name>compte</ejb-name> <method-name>getbalance</method-name> </method> <method> <ejb-name>compte</ejb-name> <method-name>setbalance</method-name> </method> </method-permission> </assembly-descriptor> </ejb-jar> R. Grin Sécurité Java EE page 88 Méthodes non protégées Certaines méthodes sont autorisées à tous (<unchecked/>): <method-permission> <unchecked/> <method> <ejb-name>compte</ejb-name> <method-name>getnames</method-name> </method> Méthodes non accessibles Des méthodes peuvent ne pas être accessibles pour un déploiement : <exclude-list> <description>méthode m1 de Ejb1 interdite </description> <method> <ejb-name>ejb1</ejb-name> <method-name>m1</method-name> </method> </exclude-list> R. Grin Sécurité Java EE page 89 R. Grin Sécurité Java EE page 90

16 16 Peut annoter une méthode d un EJB (si la classe EJB est annotée, toutes les méthodes de la classe sont concernées) Le paramètre est le nom du rôle que l utilisateur prendra pendant qu il exécutera la méthode Exemple Même utilité que le «suid» d Unix : donner temporairement une autorisation à un utilisateur Balise run-as Dans un fichier de configuration : <session> <ejb-name>... </ejb-name>... <security-identity> <run-as> <role-name>admin</role-name> </run-as> </security-identity>... </session> R. Grin Sécurité Java EE page 91 R. Grin Sécurité Java EE page 92 use-caller-identity Pour être certain qu on utilisera le principal et pas un rôle donné par une méthode EJB «run-as», on peut indiquer use-caller-identity pour un EJB ; en ce cas, les rôles transmis seront les rôles liés à la vraie identité de l utilisateur (sinon ça serait le rôle donné par «run-as») : <security-identity> <use-caller-identity/> </security-identity> AccessLocalException Cette exception du paquetage javax.ejb est levée si une méthode est appelée alors que les autorisations ne sont pas suffisantes R. Grin Sécurité Java EE page 93 R. Grin Sécurité Java EE page 94 Sécurité par programmation Code Java pour la sécurité Dans certains cas la déclaration des autorisations dans les fichiers de déploiement ou par des annotations n est pas assez souple Dans ces cas, on peut écrire du code Java qui prend en compte les cas particuliers L exemple suivant montre comment distinguer des utilisateurs qui ont le même rôle dans une application JSF R. Grin Sécurité Java EE page 95 R. Grin Sécurité Java EE page 96

17 17 Cas d utilisation Dans une application qui gère des formations, les utilisateurs doivent ouvrir un compte Ce compte leur donne le rôle «etudiant» qui leur permet de s inscrire à des cours et de participer à des forums Cependant ces étudiants ne peuvent voir et modifier que leurs données personnelles, ce qui impose une programmation en Java Les transparents suivants étudient le cas d une application JSF, avec le code qu un backing bean peut contenir On verra ensuite comment obtenir les mêmes informations dans une méthode d un EJB session R. Grin Sécurité Java EE page 97 R. Grin Sécurité Java EE page 98 Nom de l utilisateur connecté Il est possible de récupérer le nom de l utilisateur avec le code suivant : FacesContext context = FacesContext.getCurrentInstance(); HttpServletRequest request = (HttpServletRequest) context.getexternalcontext().getrequest(); String login = request.getremoteuser(); R. Grin Sécurité Java EE page 99 Nom de l utilisateur connecté avec CDI CDI fournit un bean de type java.security.principal ; il suffit de l injecter dans un backing bean (ou ailleurs) pour récupérer le nom de l utilisateur connecté (ANONYMOUS si l utilisateur ne s est pas authentifié) public class Bean private Principal principal; public String getnomutilisateur() { return principal.getname(); R. Grin Sécurité Java EE page 100 Classe ExternalContext Cette classe du paquetage javax.faces.context permet d obtenir des informations sur l environnement d exécution ; elle contient en particulier des méthodes utiles pour la sécurité Une instance peut être obtenue par FacesContext.getCurrentInstance().getExternalContext() Méthodes de ExternalContext boolean isuserinrole(string nomrole) retourne true si celui qui appelle la méthode remplit bien le rôle passé en paramètre java.security.principal getuserprincipal() permet d avoir le principal de celui qui appelle la méthode, ce qui permet de distinguer des utilisateurs qui ont le même rôle Object getrequest() récupère la requête en cours (caster en javax.servlet.http.httpservletrequest) R. Grin Sécurité Java EE page 101 R. Grin Sécurité Java EE page 102

18 Exemple avec JSF... String login = request.getremoteuser(); if (<condition sur login>) { FacesContext.getCurrentInstance().getExternalContext().redirect(autrePage);... R. Grin Sécurité Java EE page 103 Sortir d une application JSF Après ce code (qu on peut mettre, par exemple, dans l action d un bouton), l utilisateur devra à nouveau s authentifier pour les fonctionnalités qui nécessite une authentification : try { ((HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest()).logout(); catch (ServletException ex) { R. Grin Sécurité Java EE page 104 Dans un EJB Pour filtrer les accès aux méthodes des EJB dans le cas où la granularité de protection offerte par les rôles ne suffit pas, il est possible d utiliser les méthodes de l interface javax.ejb.ejbcontext Cette interface est implémentée par la classe javax.ejb.sessioncontext On peut obtenir une instance de SessionContext en l injectant dans un EJB session private SessionContext contexte; Méthodes de EJBContext EJBContext contient des méthodes liées à l authentification des utilisateurs : n Principal getcallerprincipal() n boolean iscallerinrole(string role) Elles jouent le même rôle que les méthodes de l interface ExternalContext (avec «User» à la place de «Caller») R. Grin Sécurité Java EE page 105 R. Grin Sécurité Java EE page 106 Exemple // Méthode interdite à certains utilisateurs String login = contexte.getcallerprincipal().getname(); if (condition sur login) { // l utilisateur n a pas le droit // de faire exécuter ce traitement throw new TrucException(...); // Traitement métier effectué par la méthode... Configuration de GlassFish R. Grin Sécurité Java EE page 107 R. Grin Sécurité Java EE page

19 Mode de configuration GlassFish peut être configuré n du côté du serveur : avec la console d administration ou avec la commande asadmin n en ajoutant dans l application des fichiers de configuration de déploiement particuliers à GlassFish ; ces fichiers seront pris en compte par GlassFish quand l application sera déployée sur le serveur Console d administration de GlassFish Elle s affiche dans un navigateur en tapant l adresse du serveur, suffixé avec «:4848» (port d écoute) Exemple : R. Grin Sécurité Java EE page 109 R. Grin Sécurité Java EE page 110 Commande asadmin (1/2) Cette commande est située dans le répertoire bin du répertoire d installation de GlassFish (répertoire affiché dans la console d administration de GlassFish) La commande asadmin prend en paramètre des commandes qui permettent de configurer le serveur («asadmin --help» affiche une aide ; «asadmin commande --help» affiche une aide sur une commande) Commande asadmin (2/2) On peut travailler avec asadmin en mode interactif en tapant «asadmin multimode» ; un prompt «asadmin>» apparaît et on peut taper plusieurs commandes ; taper «exit» pour sortir On peut aussi lancer un script qui contient des commandes par «asadmin multimode --file script.txt» R. Grin Sécurité Java EE page 111 R. Grin Sécurité Java EE page 112 Si GlassFish ne veut plus démarrer Il peut s agir d un problème de configuration A essayer : n Aller dans le répertoire qui contient domain.xml ; il contient aussi un fichier domain.xml.bak qui est la l avant-dernière version de domain.xml n Conserver les 2 fichiers et ensuite renommer domain.xml.bak en domain.xml et essayer de redémarrer GlassFish n Si GlassFish redémarre, essayer de comprendre le problème en faisant un «diff» des 2 fichiers (peut venir, par exemple, de caractères particuliers, accents ou autres, dans les chemins des fichiers désignés) R. Grin Sécurité Java EE page 113 Fichiers de déploiement GlassFish Ils ont les mêmes noms que les fichiers de déploiement standard, préfixés par «glassfish-» : glassfish-application.xml, glassfish-ejb-jar.xml, glassfish-web.xml R. Grin Sécurité Java EE page

20 20 Affecter les rôles avec GlassFish La manière dont un rôle est associé à un utilisateur dépend du serveur d application GlassFish (et Tomcat) définit des groupes d utilisateurs On peut affecter un ou plusieurs rôles à un groupe ou à un utilisateur Pour simplifier, il est aussi possible de configurer GlassFish pour que les groupes ou les utilisateurs correspondent aux rôles de même noms R. Grin Sécurité Java EE page 115 Indiquer une correspondance avec un rôle Pour indiquer la correspondance entre les groupes (ou les utilisateurs) et les rôles, 2 possibilités : n utiliser un fichier de déploiement de l application particulier à GlassFish pour donner les correspondances entre groupes et rôles n utiliser la console d administration de GlassFish ou la commande asadmin pour indiquer que les rôles correspondent aux groupes d utilisateurs ou utilisateurs de même nom de GlassFish (s applique à toutes les applications qui n utilisent pas la 1 ère possibilité) R. Grin Sécurité Java EE page 116 Avec un fichier de déploiement Pour indiquer une correspondance entre un groupe (group-name) ou un utilisateur (principal-name) et un rôle (role-name) il suffit d ajouter une balise <security-role-mapping> sous la balise racine du fichier Exemple <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE glassfish-web-app PUBLIC " " "http://glassfish.org/ "> <glassfish-web-app>... <security-role-mapping> <role-name>admin</role-name> Dans glassfish-web.xml <principal-name>root</principal-name> <principal-name>bob</principal-name> <group-name>administrateur</group-name> </security-role-mapping>... R. Grin Sécurité Java EE page 117 R. Grin Sécurité Java EE page 118 Par défaut, principal = rôle Pour simplifier, il est possible d indiquer à GlassFish que les groupes ou utilisateurs correspondent aux rôles de même nom (sauf si une correspondance explicite d un rôle et d un principal est donnée) Les applications déjà déployées ne sont pas affectées par une modification de l activation du mapping par défaut des principaux avec des rôles Pendant le développement il ne faut donc pas oublier de redéployer l application après un changement de statut de cette activation Par défaut, principal = rôle Avec la commande asadmin : asadmin set server-config.security-service.activate-defaultprincipal-to-role-mapping=true asadmin set server-config.security-service.mappedprincipal-class=customprincipalimplclass Avec le menu de la console d administration : Configuration > server-config > Securité > Cocher la case Default Principal To Role Mapping (en français : Mise en correspondance par défaut des principaux avec des rôles) R. Grin Sécurité Java EE page 119 R. Grin Sécurité Java EE page 120

Présentation du cours. Sécurité dans Java EE. Plan (2/2) Plan (1/2) Généralités sur la sécurité

Présentation du cours. Sécurité dans Java EE. Plan (2/2) Plan (1/2) Généralités sur la sécurité Présentation du cours Sécurité dans Java EE Université de Nice - Sophia Antipolis Richard Grin Version 0.12 12/4/13 Ce cours montre comment sécuriser une application Java EE : réserver l accès de pages

Plus en détail

Cours Serveurs d application. et Java avancé. Introduction au cours Serveurs d application. et Java avancé. Prérequis / Objectifs.

Cours Serveurs d application. et Java avancé. Introduction au cours Serveurs d application. et Java avancé. Prérequis / Objectifs. Cours Serveurs d application et Java avancé Introduction au cours Serveurs d application et Java avancé ITU Université de Nice Richard Grin Version O 1.0.1 12/4/14 20 h de cours et TPs Richard Grin, université

Plus en détail

Servlets, beans, base de données

Servlets, beans, base de données Institut Galilée E-services Année 2014-2015 Master 2 T.P. 2 Servlets, beans, base de données L objectif de ce TP est de mettre en place un site web pour l administration et la commande de pizzas : une

Plus en détail

TP N 4 Création d un projet Web Avec EJB JSF et Glassfish

TP N 4 Création d un projet Web Avec EJB JSF et Glassfish TP N 4 Création d un projet Web Avec EJB JSF et Glassfish I. Les objectifs :... 1 II. L architecture de l atelier... 1 III. Rappel... 1 IV. L environnement de développement... 2 V. Création d un projet

Plus en détail

TD6 Initiation aux EJB3 avec Eclipse Ecriture d une application J2EE complète

TD6 Initiation aux EJB3 avec Eclipse Ecriture d une application J2EE complète TD6 Initiation aux EJB3 avec Eclipse Ecriture d une application J2EE complète Nous allons écrire une application J2EE qui permet dans un navigateur web de gérer des contacts. Pour cela, nous allons suivre

Plus en détail

Implémentée sous forme de JavaBean ou EJB, c est dans cette couche que l on retrouve l ensemble des traitements d une application.

Implémentée sous forme de JavaBean ou EJB, c est dans cette couche que l on retrouve l ensemble des traitements d une application. Introduction Nous allons parler, dans ce document consacré aux architectures multi-tiers en environnement J2EE, de 3 des cinq couches les plus représentatives. Faisons tout d'abord un petit rappel sur

Plus en détail

Apache Tomcat 8. Guide d administration du serveur Java EE 7 sous Windows et Linux. Apache Tomcat 8. Apache Tomcat 8

Apache Tomcat 8. Guide d administration du serveur Java EE 7 sous Windows et Linux. Apache Tomcat 8. Apache Tomcat 8 Avant-propos Préambule La plate-forme Java EE Installation et configuration Administration du serveur Déploiement et gestion des applications La sécurité du serveur et des applications Analyse et supervision

Plus en détail

Mise en œuvre de serveurs d application TD n o 4

Mise en œuvre de serveurs d application TD n o 4 Master IST-IE 2007 08 UE 203d Mise en œuvre de serveurs d application TD n o 4 1 Introduction Dans ce TD, vous implanterez une application cliente, vous étendrez la logique métier sans modifier les clients,

Plus en détail

Création d une Application Web / JSF

Création d une Application Web / JSF Création d une Application Web / JSF Rédacteurs : Alexandre Baillif, Philippe Lacomme et Raksmey Phan Date : juillet 2010 Avertissement : ce document est une reprise d une partie d un document écrit par

Plus en détail

Traitement et navigation

Traitement et navigation 12 Traitement et navigation Au chapitre précédent, nous avons vu comment créer des pages web avec différentes technologies (HTML, JSP, JSTL, etc.) en insistant sur le fait que JSF est la spécification

Plus en détail

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean. Plan du cours 2 Introduction générale : fondamentaux : les fondamentaux Michel Buffa (buffa@unice.fr), UNSA 2002, modifié par Richard Grin (version 1.1, 21/11/11), avec emprunts aux supports de Maxime

Plus en détail

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. ASTRIUM - Toulouse JEE Formation 2013 TP JEE Développement Web en Java Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web. Figure 1 Architecture

Plus en détail

Web Tier : déploiement de servlets

Web Tier : déploiement de servlets Web Tier : déploiement de servlets 1 / 35 Plan 1 Introduction 2 Servlet : Principe de fonctionnement 3 Création et développement sur un serveur JEE 4 Quelques méthodes de l API des servlets 5 Utilisation

Plus en détail

Applications Web et servlets Java

Applications Web et servlets Java Département de génie logiciel et des TI LOG660 - Base de données haute performance Applications Web et servlets Java Application Web Une application Web répartie sur trois couches (three-tier Web application)

Plus en détail

1. Installation d'un serveur d'application JBoss:

1. Installation d'un serveur d'application JBoss: EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 4 EJB3, Serveur d'application JBoss 1. Installation d'un serveur d'application JBoss: télécharger l'archive du serveur JBoss à l'adresse: http://sourceforge.net/projects/jboss/files/jboss/jboss-5.0.0.ga/jboss-5.0.0.ga.zip/download

Plus en détail

Compte Rendu d intégration d application

Compte Rendu d intégration d application ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...

Plus en détail

Apache Tomcat 8 Guide d'administration du serveur Java EE 7 sous Windows et Linux

Apache Tomcat 8 Guide d'administration du serveur Java EE 7 sous Windows et Linux Avant-propos 1. À qui s adresse ce livre? 11 2. Les pré-requis 12 Préambule 1. Rappel sur les architectures Internet/Intranet/Extranet 13 1.1 Le protocole HTTP 14 1.1.1 Les méthodes HTTP 16 1.1.2 Les codes

Plus en détail

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4

Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4 Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.

Plus en détail

TME 1 JAVASCRIPT (2 SEANCES)

TME 1 JAVASCRIPT (2 SEANCES) TME 1 JAVASCRIPT (2 SEANCES) 1. EXERCICES DE BASE Créez des fonctions javascript pour : - faire un jeu «plus petit plus grand» qui tire un nombre au hasard que l utilisateur doit trouver en entrant des

Plus en détail

TP Protocole HTTPS avec Pratiquer l algorithmique

TP Protocole HTTPS avec Pratiquer l algorithmique TP Protocole HTTPS avec Pratiquer l algorithmique Introduction : Le protocole HTTPS permet l échange de données entre client et serveur de manière sécurisée, en ayant recours au cryptage (technologie SSL).

Plus en détail

Objectifs. Comprendre l architecture typique d une application web Exemple: Expérimenter avec:

Objectifs. Comprendre l architecture typique d une application web Exemple: Expérimenter avec: Cedric Dumoulin Objectifs Comprendre l architecture typique d une application web Exemple: Application permettant de lister un catalogue d articles, et de créer des articles Expérimenter avec: EJB, JPA

Plus en détail

Une introduction à la technologie EJB

Une introduction à la technologie EJB Une introduction à la technologie EJB 1 Introduction La technologie des EJB (pour Enterprise Java Bean) ont été introduite en 1998 pour offrir aux programmeurs un outil qui facilite la conception et le

Plus en détail

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC

Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC Connexion à SQL Server 2005 à partir du serveur d application SJSAS 9 Utilisation d une interface JDBC Sommaire 1. Objectifs et intérêts... 2 2. Intégrer le driver SQL Server dans SJSAS 9... 2 2.1. Télécharger

Plus en détail

Rapport Gestion de projet

Rapport Gestion de projet IN56 Printemps 2008 Rapport Gestion de projet Binôme : Alexandre HAFFNER Nicolas MONNERET Enseignant : Nathanaël COTTIN Sommaire Description du projet... 2 Fonctionnalités... 2 Navigation... 4 Description

Plus en détail

arcopole Studio Annexe 7 Architectures Site du programme arcopole : www.arcopole.fr

arcopole Studio Annexe 7 Architectures Site du programme arcopole : www.arcopole.fr 4 arcopole Studio Annexe 7 Architectures Site du programme arcopole : www.arcopole.fr Auteur du document : Esri France Version de la documentation : 1.2 Date de dernière mise à jour : 26/02/2015 Sommaire

Plus en détail

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. Note technique W4 Engine Extension SSO Java Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. 1 Présentation 3 2 Custom SSO Java 4 3 Bilan 10 Sommaire Référence

Plus en détail

Projet d Etude et de Développement

Projet d Etude et de Développement Projet d Etude et de Développement PokerServer Guide d installation Auteurs: Lucas Kerdoncuff Balla Seck Rafik Ferroukh Xan Lucu Youga MBaye Clients: David Bromberg Laurent Réveillère March 28, 2012 Contents

Plus en détail

TD4 : Wikis, Servlets & Projet

TD4 : Wikis, Servlets & Projet Université Bordeaux 1 T.D. License 3 Informatique 2007 2008 TD4 : Wikis, Servlets & Projet L objet de cette séance est de vous familiariser avec les sockets et les servlets, et d introduire le projet.

Plus en détail

Développement web avec Java

Développement web avec Java Cécile Hardebolle cecile.hardebolle@supelec.fr Développement web avec Java Tutoriel Plan 1. Principes des applications web 2. Et Java dans tout ça? 3. Principaux composants Java EE pour le web 4. Persistance

Plus en détail

Partie 2.2: Servlet et Tomcat

Partie 2.2: Servlet et Tomcat Partie 2.2: Servlet et Tomcat 1 Plan du cours Servlets Présentation Exemple 2 Plan du cours Tomcat Des servlets à Tomcat: pourquoi Tomcat? Architecture Tomcat Installation et configuration de Tomcat Configuration

Plus en détail

TP 2 : programmation côté serveur À rendre pour le mardi 6 mai 2008

TP 2 : programmation côté serveur À rendre pour le mardi 6 mai 2008 Université Claude Bernard Lyon 1 UFR d informatique avril 2006 MIAG soir Systèmes d Information Méthodes Avancées TP 2 : programmation côté serveur À rendre pour le mardi 6 mai 2008 Introduction Dans ce

Plus en détail

CONFIGURATION D ADOBE DIGITAL ENTERPRISE PLATFORM DOCUMENT SERVICES - CONNECTOR FOR MICROSOFT SHAREPOINT 10.0

CONFIGURATION D ADOBE DIGITAL ENTERPRISE PLATFORM DOCUMENT SERVICES - CONNECTOR FOR MICROSOFT SHAREPOINT 10.0 CONFIGURATION D ADOBE DIGITAL ENTERPRISE PLATFORM DOCUMENT SERVICES - CONNECTOR FOR MICROSOFT SHAREPOINT 10.0 Informations juridiques Informations juridiques Pour les informations juridiques, voir http://help.adobe.com/fr_fr/legalnotices/index.html.

Plus en détail

J2EE. A.-E. Ben Salem. 09 Octobre 2011. LRDE and LIP6 1 / 15

J2EE. A.-E. Ben Salem. 09 Octobre 2011. LRDE and LIP6 1 / 15 J2EE A.-E. Ben Salem LRDE and LIP6 09 Octobre 2011 1 / 15 Plan 1 J2EE 2 Architecture Client/Serveur HTTP 3 Différence entre Web Statique et Web Dynamique 4 Web Dynamique avec un Serveur d applications

Plus en détail

arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr

arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr arcopole Studio Annexe 4 Intégration LDAP et processus d authentification Site du programme arcopole : www.arcopole.fr Auteur du document : ESRI France Version de la documentation : 1.2.0.0 Date de dernière

Plus en détail

Bypass et filtre sur les requêtes destinées à la servlet W4

Bypass et filtre sur les requêtes destinées à la servlet W4 Note technique W4 Engine Bypass et filtre sur les requêtes destinées à la servlet W4 Cette note technique décrit le filtre de contrôle du bypass de la servlet W4. Versions de W4 Engine concernées : 5.0

Plus en détail

TD3 : PHP «avancé» V2.4.0

TD3 : PHP «avancé» V2.4.0 TD3 : PHP «avancé» V2.4.0 Cette œuvre est mise à disposition selon les termes de la licence Creative Commons Attribution Pas d'utilisation Commerciale Partage à l'identique 3.0 non transposé. Document

Plus en détail

Etude de cas PLM. Patrice TORGUET IRIT Université Paul Sabatier

Etude de cas PLM. Patrice TORGUET IRIT Université Paul Sabatier Etude de cas PLM Patrice TORGUET IRIT Université Paul Sabatier Plan Exemple PLM Répartition avec Sockets Répartition avec RMI Répartition avec CORBA Répartition avec JMS Répartition avec Java EE Améliorations

Plus en détail

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants

Plus en détail

Applications Web. Cours 2: Introduction J2EE Servlets et JSP. Khaled Khelif

Applications Web. Cours 2: Introduction J2EE Servlets et JSP. Khaled Khelif Applications Web Cours 2: Introduction J2EE Servlets et JSP Khaled Khelif 1 Rappel Web statique vs. Web dynamique Principe des applications web Protocole HTTP : requêtes en mode texte Développement d applications

Plus en détail

FileMaker Server 14. Aide FileMaker Server

FileMaker Server 14. Aide FileMaker Server FileMaker Server 14 Aide FileMaker Server 2007-2015 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et FileMaker Go sont des marques

Plus en détail

Système de contrôle d accès

Système de contrôle d accès Système de contrôle d accès Installation du système Les éléments à mettre en place. Pour mettre en place l environnement de travail de la badgeuse, il faut suivre plusieurs étapes : Sur l ordinateur devant

Plus en détail

Atelier EDI Eclipse Ganymede N 2 : JSF

Atelier EDI Eclipse Ganymede N 2 : JSF Atelier EDI Eclipse Ganymede N 2 : JSF Etape 1 : configuration Définir «Web Page Editor» comme éditeur par défaut des pages *.jsp o Dans la fenêtre «Fenêtres/Préférences/Général/Editeurs/Associations de

Plus en détail

Applications Web (Java)

Applications Web (Java) Applications Web (Java) Mohamed Quafafou 4A Polytech'Marseille mohamed.quafafou@univ-amu.fr 1 Servlets [Bases Exemples] 2 Java Servlets Java Servlet est une extension générique de serveur qui signifie

Plus en détail

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10 Dossier Technique Page 1/10 Sommaire : 1. REPONSE TECHNIQUE A LA DEMANDE 3 1.1. Prise en compte de la dernière version de phpcas 3 1.2. Gestion de la connexion à GRR 3 1.2.1. Récupération des attributs

Plus en détail

Application web de gestion de comptes en banques

Application web de gestion de comptes en banques Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion

Plus en détail

Installation pas-à-pas du framework Copix, pour les vrais débutants

Installation pas-à-pas du framework Copix, pour les vrais débutants Installation pas-à-pas du framework Copix, pour les vrais débutants 1) Objet de ce didacticiel Calogero GIGANTE ( www.gigante.be ) 4 avril 2008. Document version 005. Ce didacticiel explique dans les détails

Plus en détail

Filière : M2 informatique Année universitaire : 2014-2015 Cours : Réutilisation et composants TP EJB 2

Filière : M2 informatique Année universitaire : 2014-2015 Cours : Réutilisation et composants TP EJB 2 Université Montpellier II Faculté des Sciences Département Informatique Filière : M2 informatique Année universitaire : 2014-2015 Cours : Réutilisation et composants TP EJB 2 Objectifs du TD Développer

Plus en détail

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand Centrale Réseaux

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux Formation Webase 5 Ses secrets, de l architecture MVC à l application Web Adrien Grand Centrale Réseaux Sommaire 1 Obtenir des informations sur Webase 5 2 Composants de Webase 5 Un

Plus en détail

Kit d'intégration FAS+

Kit d'intégration FAS+ Guide d'intégration de l'application IAM - Annexe Kit d'intégration FAS+ Date 24/08/2012 Version 3.0 TABLE DES MATIÈRES 1 Introduction...3 2 Kit d'intégration FAS+...3 2.1 Pages JSP...4 2.2 Classes Java...7

Plus en détail

Créer et partager des fichiers

Créer et partager des fichiers Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation

Plus en détail

Salvia Liaison Financière. Manuel d installation version 15.00 Pour les professionnels des collectivités locales et de l habitat social

Salvia Liaison Financière. Manuel d installation version 15.00 Pour les professionnels des collectivités locales et de l habitat social Salvia Liaison Financière Manuel d installation version 15.00 Pour les professionnels des collectivités locales et de l habitat social Sommaire 1. Préambule... 3 2. Introduction... 3 3. Création de la

Plus en détail

TP SPRING. https ://lipn.univ-paris13.fr/ fortier/enseignement/spring/tp/

TP SPRING. https ://lipn.univ-paris13.fr/ fortier/enseignement/spring/tp/ Institut Galilée Année 2015-2016 TP SPRING Programmation et Logiciels sûrs Master 2 PLS Résumé L objectif de ce TP est d être capable de réaliser une application Java de gestion de location de véhicules,voiture

Plus en détail

TP1 - Entreprise Java Beans

TP1 - Entreprise Java Beans TP1 - Entreprise Java Beans Réseaux Middlewares - Jules Chevalier 1 Configuration Minimale Pour ce TP, vous aurez besoin de outils suivants : Un JDK installé (le JRE est insuffisant) Un IDE édition Java

Plus en détail

Java EE Applications web

Java EE Applications web Java EE Applications web Applications web Deux types d applications web: Applications orientées présentation Contenu statique: Html,xml, XVG Contenu dynamique: jsp, jsf, servlets Applications orientées

Plus en détail

Exercice sur les EJB Session avec état

Exercice sur les EJB Session avec état Exercice sur les EJB Session avec état Soit un site de commerce électronique appartenant à un fournisseur de matériel informatique. Une page principale permet à l utilisateur de s inscrire, donc de saisir

Plus en détail

TP6 EJB : Création d'un EJB3 Entité

TP6 EJB : Création d'un EJB3 Entité TP6 EJB : Création d'un EJB3 Entité Objis : nous allons vous faire aimer JAVA - www.objis.com 1 Table des matières Formation EJB - TP 'Développement EJB3 entity avec Eclipse' Propriété du document...3

Plus en détail

Entraide-Info. Entraide pour les informaticiens SERVEUR D APPLICATIONS TOMCAT OLIVIER D.

Entraide-Info. Entraide pour les informaticiens SERVEUR D APPLICATIONS TOMCAT OLIVIER D. 2014 Entraide-Info Entraide pour les informaticiens SERVEUR D APPLICATIONS TOMCAT OLIVIER D. Table des matières 1 Etat des lieux... 4 2 Le serveur d application Tomcat - Introduction... 9 3 Du programme

Plus en détail

IPS-Firewalls NETASQ SPNEGO

IPS-Firewalls NETASQ SPNEGO IPS-Firewalls NETASQ SPNEGO Introduction Un utilisateur doit gérer de nombreux mots de passe. Un mot de passe pour la connexion au poste de travail, un mot de passe pour la messagerie et n mots de passe

Plus en détail

Pages Web dynamiques et bases de données

Pages Web dynamiques et bases de données Cours 2 Pages Web dynamiques et bases de données Une page Web dynamique est générée automatiquement grâce à l exécution d un script (PHP par exemple). C est le résultat de l exécution de ce script (code

Plus en détail

TD2-1 : Application client-serveur V2.3.0

TD2-1 : Application client-serveur V2.3.0 TD2-1 : Application client-serveur V2.3.0 Cette œuvre est mise à disposition selon les termes de la licence Creative Commons Attribution Pas d'utilisation Commerciale Partage à l'identique 3.0 non transposé.

Plus en détail

EXA1415 : Annotations JavaEE : @Local, @Stateful

EXA1415 : Annotations JavaEE : @Local, @Stateful EXA1415 : Annotations JavaEE : @Local, @Stateful Sur une idée de P. Sécheresse sur http://developpez.com (http://tinyurl.com/5gr57j) Diapo 1 Objectif Créer un EJB CalculatriceBean (V1) Contient une opération

Plus en détail

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles

Types d applications pour la persistance. Outils de développement. Base de données préexistante? 3 modèles. Variantes avec passerelles Types d applications pour la persistance Université de Nice Sophia-Antipolis Version 0.9 28/8/07 Richard Grin Toutes les applications n ont pas une complexité qui nécessite une architecture n- tiers Ce

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp Serveur d'application Client HTML/JS Apache Thrift Bootcamp Pré-requis La liste ci-dessous de logiciels doit être installée et opérationnelle sur la machine des participants : Compilateur thrift http://thrift.apache.org/

Plus en détail

Objectif : Etudier la configuration du contexte d exécution

Objectif : Etudier la configuration du contexte d exécution EJB avancés Objectif : Etudier la configuration du contexte d exécution Sa mise en œuvre implicite Et explicite Transactions Sécurité Timer Récapitulatif Performances Les transactions Concept fondamental

Plus en détail

Spring MVC. Implémentation du pattern MVC de type 2 dans Spring

Spring MVC. Implémentation du pattern MVC de type 2 dans Spring 7 Spring MVC La mise en pratique du patron de conception MVC (Model View Controller) offre une meilleure structuration du tiers de présentation des applications Java EE en dissociant les préoccupations

Plus en détail

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi Un exemple d'authentification sécurisée utilisant les outils du Web : CAS 111 L authentification CAS : «Central Authentication Service» CAS ou le service central d authentification Le système CAS, développé

Plus en détail

Formulaires Web avec Spring Web MVC

Formulaires Web avec Spring Web MVC Formulaires Web avec Spring Web MVC Spring propose un framework MVC pour faciliter la programmation d applications Web : Spring Web MVC. Au fil des ans ce framework a supplanté Struts pour être à présent

Plus en détail

Les solutions de paiement CyberMUT (Crédit Mutuel) et P@iement CIC. Qui contacter pour commencer la mise en place d une configuration de test?

Les solutions de paiement CyberMUT (Crédit Mutuel) et P@iement CIC. Qui contacter pour commencer la mise en place d une configuration de test? Les solutions de paiement CyberMUT (Crédit Mutuel) et P@iement CIC Qui contacter pour commencer la mise en place d une configuration de test? CyberMUT Paiement - Paiement CIC Commerce Electronique mailto:centrecom@e-i.com

Plus en détail

Java EE Approfondi - Cours 2. Cours de 2 e année ingénieur Spécialisation «Génie Informatique»

Java EE Approfondi - Cours 2. Cours de 2 e année ingénieur Spécialisation «Génie Informatique» Java EE Approfondi - Cours 2 Cours de 2 e année ingénieur Spécialisation «Génie Informatique» Présentation Lier l'orienté objet et la base de données relationnelle peut être lourd et consommateur en temps.

Plus en détail

Première coupe : Introduction à la plateforme Java EE JAVA JAVA. Introduction à la plateforme Java EE. Introduction à la plateforme Java EE

Première coupe : Introduction à la plateforme Java EE JAVA JAVA. Introduction à la plateforme Java EE. Introduction à la plateforme Java EE Première coupe : CREATION : 2010/04/22 MISE A JOUR : 2010/07/01 GLASSFISH:3.0.1 NETBEANS : 6.8 Ce TP de découverte de la plateforme Java EE est une traduction adaptée de «Your First Cup :An Introduction

Plus en détail

Base de connaissances

Base de connaissances Base de connaissances Page 1/14 Sommaire Administration du système... 3 Journalisation pour le débogage... 3 Intellipool Network Monitor requiert-il un serveur web externe?... 3 Comment sauvegarder la

Plus en détail

pac4j : la librairie de sécurité pour Java par Jérôme LELEU

pac4j : la librairie de sécurité pour Java par Jérôme LELEU pac4j : la librairie de sécurité pour Java par Jérôme LELEU www.parisjug.org Copyright @ 2014 ParisJug. Licence CC - Creatve Commons 2.0 France Paternité - Pas d'utlisaton Commerciale - Partage des Conditons

Plus en détail

TP J2EE GUIDE DE DEPLOIEMENT DE L APPLICATION WEB DE GESTION DES COMPTES

TP J2EE GUIDE DE DEPLOIEMENT DE L APPLICATION WEB DE GESTION DES COMPTES 2008 UFR Ingénieurs 2000 Vivien Boistuaud Julien Herr TP J2EE GUIDE DE DEPLOIEMENT DE L APPLICATION WEB DE GESTION DES COMPTES Ce document a été réalisé par V. Boistuaud et J. Herr dans le cadre des travaux

Plus en détail

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward PHP CLÉS EN MAIN 76 scripts efficaces pour enrichir vos sites web par William Steinmetz et Brian Ward TABLE DES MATIÈRES INTRODUCTION 1 1 TOUT CE QUE VOUS AVEZ TOUJOURS VOULU SAVOIR SUR LES SCRIPTS PHP

Plus en détail

TotEM. Guide d installation de l application. Décembre 2012 R006

TotEM. Guide d installation de l application. Décembre 2012 R006 TotEM Guide d installation de l application Décembre 2012 R006 TotEM Guide d installation de l application 1. Introduction 3 2. Installer le serveur (autonome) 10 3. Installer le serveur (application War)

Plus en détail

ISLOG Logon Tools Manuel utilisateur

ISLOG Logon Tools Manuel utilisateur ISLOG Logon Tools Manuel utilisateur Document révision 02 Copyright 2013 ISLOG Network. Tout droit réservé. Historique de version Date Auteur Description Document Version 23/08/13 F Godinho Version initiale

Plus en détail

18/05/2010 JSF : Java server faces

18/05/2010 JSF : Java server faces 18/05/2010 JSF : Java server faces Groupe JAXB - JSF TABLE DES MATIÈRES OBJECTIF...2 VERSION... ERREUR! SIGNET NON DEFINI. MISE EN ŒUVRE...2 UTILISATION...4 Génération des classes à partir d un schéma...

Plus en détail

Configuration du FTP Isolé Active Directory

Configuration du FTP Isolé Active Directory Configuration du FTP Isolé Active Directory 1 - Introduction KoXo Administrator permet de configurer les attributs de l annuaire pour permettre à un utilisateur d accéder à son dossier de travail via le

Plus en détail

PRONOTE 2010. utilisation de PRONOTEcas INDEX-EDUCATION.COM. PRONOTEcas sert à interfacer PRONOTE.net. à un ENT utilisant l authentification avec CAS.

PRONOTE 2010. utilisation de PRONOTEcas INDEX-EDUCATION.COM. PRONOTEcas sert à interfacer PRONOTE.net. à un ENT utilisant l authentification avec CAS. PRONOTE 200 utilisation de PRONOTEcas PRONOTEcas sert à interfacer PRONOTE.net à un ENT utilisant l authentification avec CAS. Ce manuel est destiné au gestionnaire de l ENT. Aucune assistance n est assurée

Plus en détail

Plan. Environnement Client/Serveur. Cours 7 JavaServer Pages (1) JSP. Programmation Web coté serveur

Plan. Environnement Client/Serveur. Cours 7 JavaServer Pages (1) JSP. Programmation Web coté serveur Plan Environnement Client/Serveur Cours 7 JavaServer Pages (1) kn@lri.fr 7.1 Principe 7.2 Rappels HTTP 7.3 Le serveur web Tomcat Programmation Web coté serveur JSP 2/28 (rappel) génération de pages-web

Plus en détail

Installation de la plate-forme Liberacces 2.0 «Intégrale» avec LiberInstall

Installation de la plate-forme Liberacces 2.0 «Intégrale» avec LiberInstall Installation de la plate-forme Liberacces 2.0 «Intégrale» avec LiberInstall Titre Version Date Dernière page Identité du document Installation de la plate-forme Liberacces 2.0 «Intégrale» avec LiberInstall

Plus en détail

Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. L3 Pro Informatique - 2010-2011

Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer. L3 Pro Informatique - 2010-2011 1 / 34 Développement Web - Servlet Jean-Michel Richer jean-michel.richer@univ-angers.fr http://www.info.univ-angers.fr/pub/richer L3 Pro Informatique - 2010-2011 2 / 34 Plan Plan 1 Introduction 2 Servlet

Plus en détail

L arboretum de St André

L arboretum de St André L arboretum de St André Description du thème Propriétés Description Intitulé long Formation concernée Matière SLAM 4 Présentation Notions Transversalité SLAM 3 Pré-requis Outils Mots-clés Durée Auteur(es)

Plus en détail

GUIDE D INSTALLATION DU SERVEUR

GUIDE D INSTALLATION DU SERVEUR GUIDE D INSTALLATION DU SERVEUR All rights reserved. Passing on and copying of this document, use and communication of its contents not permitted without written authorization from Alcatel Alcatel SmartCall

Plus en détail

Licence Professionnelle Développeur Web Programmation Orientée Objets Gestion de comptes en banque (Philippe.Genoud@imag.fr)

Licence Professionnelle Développeur Web Programmation Orientée Objets Gestion de comptes en banque (Philippe.Genoud@imag.fr) Grenoble 1 IMA Informatique & Mathématiques Appliquées UNIVERSITE JOSEPH FOURIER Sciences, Technologie, Médecine Licence Professionnelle Développeur Web Programmation Orientée Objets Gestion de comptes

Plus en détail

Headers, cookies et sessions

Headers, cookies et sessions Headers, cookies et sessions Chargement de fichiers (upload) Entêtes HTTP et redirections Gestion des cookies et des sessions de connexions Authentification Validation des données Programmation avancée

Plus en détail

Ala Eddine BEN SALEM. T.P. 2 Servlet

Ala Eddine BEN SALEM. T.P. 2 Servlet EPITA Ala Eddine BEN SALEM App-Ing2 J2EE T.P. 2 Servlet 1. Création d'un projet Web: A l'aide d'eclipse, créer un nouveau projet «sampleservlet» avec comme environnement d'exécution le serveur Tomcat installé

Plus en détail

DOCUMENTATION DU COMPAGNON ASP

DOCUMENTATION DU COMPAGNON ASP DOCUMENTATION DU COMPAGNON ASP MANUEL UTILISATEUR VERSION 1.0 / SEPTEMBRE 2011 Rédacteur Gilles Mankowski 19/09/2011 Chapitre : Pre requis CONTENU Pre requis... 3 Introduction... 3 Comment fonctionne l'asp?...

Plus en détail

Gestion du Serveur Web

Gestion du Serveur Web Gestion du Serveur Web Console de gestion du Serveur Web Une console de gestion est disponible dans l'outil de l'administrateur. Cette console de gestion vous permet de configurer les services JetClouding

Plus en détail

Atelier 2. Étape 1 : Installation de Active Directory, installation du service DNS et installation du service WINS Durée approximative : 40 minutes

Atelier 2. Étape 1 : Installation de Active Directory, installation du service DNS et installation du service WINS Durée approximative : 40 minutes Atelier 2 Installation d Active Directory Installation du service DNS Installation du Service WINS Création d'un compte d'ordinateur Jonction d'un ordinateur à un domaine Création d usagers. Étape 1 :

Plus en détail

Architecture Orientée Service, JSON et API REST

Architecture Orientée Service, JSON et API REST UPMC 3 février 2015 Précedemment, en LI328 Architecture générale du projet Programmation serveur Servlet/TOMCAT Aujourd hui Quelques mots sur les SOA API - REST Le format JSON API - REST et Servlet API

Plus en détail

www.evogue.fr SUPPORT DE COURS / PHP PARTIE 3

www.evogue.fr SUPPORT DE COURS / PHP PARTIE 3 L i a m T A R D I E U www.evogue.fr SUPPORT DE COURS / PHP PARTIE 3 Sommaire Sommaire... 2 Eléments initiaux... 3 Base de données... 3 Tables... 4 membres... 4 commandes... 4 articles... 4 details_commandes...

Plus en détail

Création d un service web avec NetBeans 5.5 et SJAS 9

Création d un service web avec NetBeans 5.5 et SJAS 9 Sommaire Création d un service web avec NetBeans 5.5 et SJAS 9 1. Présentation... 2 2. Création d un service web avec NetBeans... 2 2.1. Création d une application Web... 2 2.2. Création du service web...

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Programmation servlet

Programmation servlet Programmation servlet Olivier Aubert 1/23 Références http://developer.java.sun.com/developer/onlinetraining/servlets/fundamenta http://www.servlets.com http://java.sun.com/products/jsp/index.html http://www.servletcentral.com/

Plus en détail

EJB avancés. Transactions Sécurité Ressources Performances

EJB avancés. Transactions Sécurité Ressources Performances EJB avancés Transactions Sécurité Ressources Performances Les transactions Concept fondamental dans les applications distribuées Indispensable pour une exécution sure des services Difficile à mettre en

Plus en détail

Une introduction à la technologie EJB (2/3)

Une introduction à la technologie EJB (2/3) Une introduction à la technologie EJB (2/3) 1 Les singletons des EJB 3.1 1.1 Synchronisation gérée manuellement Depuis la version 3.1, des EJB Statless à instance unique sont maintenant disponibles : ce

Plus en détail

Création d une application JEE

Création d une application JEE Création d une application JEE Rédacteurs : Alexandre Baillif, Philippe Lacomme, Raksmey Phan et Michaël PLAN Date : juillet 2010 Mise à jour : Michaël PLAN Date : octobre 2014 Avertissement : - ce document

Plus en détail

Création d un forum en Php et Mysql

Création d un forum en Php et Mysql Birane SECK Création d un forum en Php et Mysql Cahier des charges : Nous allons mettre en place un espace membre assez classique à savoir un système que l on retrouve sur la majorité des sites Internet.

Plus en détail