GLG203 - TP08 Spring
 

GLG203
   Agenda
   Ennoncés TP
   Corriger TP

GLG204
   Agenda
   Templates

Enseignants
Logiciels
Forum
Bibliograpie

 

Authentification / Sécurité

  1. Télécharger l'énoncé en html puis...
  2. Télécharger (depuis Moodle) les classes de l'application fournies et les classes de test représentant la recette utilisateur...
    (modifier éventuellement les infos d'accès à la BD dans le fichier application.properties)
  3. Créer la base de données petstoreDB08 (avec phpMyAdmin ou gradle create_db) et peupler la base de données (gradle populate_db)
  4. Développer et mettre au point les classes manquantes
  5. Lancer l'application SpringBoot Tp08Application (... et son server Tomcat embarqué) depuis Eclipse ou par gradle bootRun
    ... pour tester manuellement l'application web à l'adresse http://localhost:8080/ (ou http://localhost:8080/petstore si server.servlet.contextPath a été redéfini dans application.properties)
  6. Lancer tous les tests en exécutant la classe AllTests depuis Eclipse ou par gradle myTest
  7. Une fois l'application mise au point, relancer tous les tests par gradle mark
    (vérifier le contenu du fichier TP08.html) et envoyer le fichier résultat TP08.test au système de test  (exemple d'utilisation).
  8. Une fois disponible, télécharger (depuis Moodle) le corrigé du TP.
On peut aussi déployer l'application web dans un "vrai" Tomcat : gradle deployToTomcat (requiert d'avoir défini la variable d'environnement TOMCAT_HOME) et démarrer Tomcat (gradle startTomcat) puis tester l'application web http://localhost:8080/petstore.

Indication

Dans la classe com.yaps.petstore.authentication.domain.model.User (qui remplace la classe Customer des TP précédents), c'est l'attribut username qui remplace l'attribut id et doit être annoté par  @Id et @Column(name="id")

@Entity
@Table(name = "T_USER")
public final class User implements Serializable {
    @Id
    @Column(name="id")
    @NotBlank(message = "username must be defined")
    private String username;

    @NotBlank(message = "Invalid customer first name")
    private String firstname;
   
    @NotBlank(message = "Invalid customer name")
    private String lastname;
   
    @Size(max=10, message="telephone nb's length exception (10 char.max)")
    private String telephone;

    ...

    // TODO : 2 annotations nécessaires ici pour l'attribut role
    private Role role;

    ...