Accéder au contenu principal

Articles

Affichage des articles du octobre, 2015

Spring Rest et le jeton CSRF

Nous allons voir comment utiliser des jetons CSRF dans une application REST avec spring. Dans ce type d'application, il n'y a pas de formulaire pour entrer un nom d'utilisateur et un mot de passe. Lors de votre connexion au serveur, il est possible d'obtenir le jeton CSRF au lieu de faire une requête au serveur.     var req = new XMLHttpRequest();     req.open('GET', document.location, false);     req.send(null);     var csrf = req.getResponseHeader("x-csrf-token")     var cookie = JSON.stringify({method: 'GET', url: '/', csrf: csrf});     $.cookie('myWebApp', cookie); Ensuite pour la connexion     var cookie = JSON.parse($.cookie('myWebApp'));     var data = 'username=' + $('#username').val() + '&password=' + $('#password').val();     $.ajax({         data: data,         headers: {'X-CSRF-TOKEN': cookie.csrf},       ...

Mapping d'une date d'anniversaire en JPA.

La version 2.1 de JPA et la version 5 de MySQL ont été utilisé. Une date d'anniversaire s'affiche sous le format: dd/MM/yyyy . Ce format varie d'une région à une autre. Une telle date ne possède pas d'heure. Si vous ne spécifiez par le bon type dans votre entité, vos risques de ne pas obtenir le format désiré à l'affichage. L'annotation Temporal offre 3 valeurs: Date, Time et Timestamp. Le time est inutile pour un anniversaire. Selon l'annotation, voici le type de donnée et le type en bd.. @Temporal(javax.persistence. TemporalType.DATE) Data type date DB data type date @Temporal(javax.persistence. TemporalType.TIMESTAMP) Data type timestamp DB data type datetime Si vous n'en spécifiez aucun, vous obtiendrez ceux de TemporalType.TIMESTAMP. @Entity public class personne{   @Temporal(javax.persistence.TemporalType.TIMESTAMP)   private Date anniversaire;   ... } Au niveau de votre DTO, vous devez spécifiez le...

Commande Mysql utile

Importer un script sql mysql -p use databasename source nom_script.sql Export du schéma de base de donnée mysqldump -u root -p --no-data dbname > schema.sql mysqldump -u root -p -d databasename > database.sql Créer un utilisateur CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password'; Octroie des privilèges sur tout GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost'; Active les privilèges immédiatement FLUSH PRIVILEGES;