Friday 3 April 2015

Utiliser les profils Spring

Pour utiliser les profils Spring (que j'ai nommés "auth-cas" et "auth-manual"), j'ai ajouté le profil par défaut ("auth-manual") dans web.xml avec le paramètre "spring.profiles.default" :

<context-param>
    <param-name>spring.profiles.default</param-name>
    <param-value>auth-manual</param-value>
</context-param>

Ensuite dans applicationContext-security.xml, j'importe chaque fichier XML de configuration de l'authentification en précisant le profil dans un attribut:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:security="http://www.springframework.org/schema/security"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                           http://www.springframework.org/schema/beans/spring-beans.xsd
                           http://www.springframework.org/schema/security
                           http://www.springframework.org/schema/security/spring-security.xsd">

    <!-- Spring Security configuration for database authentication -->   
    <beans profile="auth-manual">
        <import resource="security/applicationContext-security-manual.xml" />
    </beans>

    <!-- Spring Security configuration for CAS authentication -->
    <beans profile="auth-cas">
        <import resource="security/applicationContext-security-cas.xml" />
    </beans>

</beans>

Pour accéder au nom des profils actifs dans du code Java, @Value ne fonctionne pas car quand Spring utilise le profil par défaut, il ne définit pas la propriété "spring.profiles.active" avec le nom de ce profil. La solution est de ne pas utiliser @Value, mais d'implémenter l'interface "EnvironmentAware" dans le service qui doit accéder à l'environnement. On a accès aux méthodes "getActiveProfiles" et "getDefaultProfiles". Exemple :

public class DomainServiceImpl implements DomainService, Serializable, InitializingBean, EnvironmentAware {

    private Environment environment;
    ...

    @Override
    public void setEnvironment(Environment environment) {
        this.environment = environment;
    }

    @Override
    public void afterPropertiesSet() throws Exception {
        List<String> activeProfiles = Arrays.asList(environment.getActiveProfiles());
        List<String> defaultProfiles = Arrays.asList(environment.getDefaultProfiles());
        if (activeProfiles.contains("auth-manual")) {
            autoCreateUsers = false;
        }
        else if (activeProfiles.contains("auth-cas")) {
            autoCreateUsers = true;
        }
        else {
            if (defaultProfiles.contains("auth-manual")) {
                autoCreateUsers = false;
            }
            else if (defaultProfiles.contains("auth-cas")) {
                autoCreateUsers = true;
            }
            else {
                autoCreateUsers = false;
            }
        }
    }
}

Avec ça, on peut préciser le(s) profil(s) actif(s) dans les propriétés système avec par exemple "spring.profiles.active=auth-cas", et si l'on ne précise aucun profil actif, on utilisera le profil par défaut défini dans "web.xml".

Saturday 18 October 2014

Bilan concours ITRF 2014

J'étais admissible à deux concours ITRF cette année : IGR 2ème classe, «Chef de projet ou expert en développement et déploiement d'applications»; IGE 2ème classe, «Ingénieur en développement et déploiement d'applications». Les notes pour l'admissibilité (étude de mon dossier professionnel,  […]

Continue reading

Sunday 12 January 2014

Le droit de ne pas écouter

«Tu n'écoutes vraiment pas ce qu'on dit !» Je crois que depuis que je suis né, on me fait ce reproche au moins une fois par an. Il m'arrive parfois, je ne saurais le nier, de poser une question alors que j'aurais déjà dû avoir entendu et mémorisé la réponse. Pris en flagrant délit de décrochage  […]

Continue reading

Thursday 7 November 2013

Savoir reconnaître une usine à gaz

L'expression «usine à gaz», en informatique, sert à qualifier un système informatique dont la structure semble excessivement complexe et dont la logique de fonctionnement résiste à la compréhension de l'informaticien. La métaphore peut sembler injuste, car elle s'intéresse non pas à la complexité  […]

Continue reading

Monday 23 September 2013

Qui est Tintin ?

Tintin est un héros particulièrement atypique car il n'a pas à proprement parler de personnalité : ce que l'on sait de lui est extrêmement limité. Il est apparemment célibataire, a un chien qui le suit partout, n'a pas de famille, n'a pas d'âge, n'exerce jamais son métier de journaliste, n'a pas de  […]

Continue reading

Thursday 23 May 2013

An IRI regex pattern for Java

Checking if a given string is an IRI (Internationalized Resource Identifier) is the kind of task nobody wants to do alone. It's arguably tedious. Fortunately, this StackOverflow answer by user Eyelidlessness gives two patterns to parse absolute and relative IRIs using the Perl syntax. I copy them  […]

Continue reading

Monday 10 September 2012

Résoudre le gel d'Ubuntu 12.04

Un certain nombre d'utilisateurs d'Ubuntu 12.04 se plaignent que l'interface graphique se fige plus ou moins complètement sans aucune raison apparente. La différence entre le "plus" et le "moins" semblant être le curseur : chez certains il peut encore bouger, chez d'autres non,  […]

Continue reading

Thursday 28 June 2012

Le mode web-app de Safari Mobile

Avec Safari Mobile sur iPhone et iPad, il est possible de donner à une page web l'allure générale d'une application (cela signifie en particulier que l'espace occupé par la barre de navigation sera libéré). Il y a quelques petits trucs à savoir pour que le mode web-app fonctionne, et surtout  […]

Continue reading

Tuesday 19 June 2012

Tomcat SSL avec clé privée fournie

La configuration du protocole HTTPS dans Tomcat est, apparemment, bien documentée : http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html Avant de se lancer dans la configuration, il faut savoir exactement dans quelle situation on se trouve. Il y en a (sauf erreur de ma part), deux : pour un  […]

Continue reading

Tuesday 12 June 2012

L'assassinat social ne prend que cinq minutes

Hier soir, vers 17h00, il est venu serrer la main de mes collègues, puis, alors que je tendais la mienne, il m'a dit «Tu peux venir, Grégoire? Il faut que je te parle, il y en a pour 5 minutes.» Il savait qui j'étais, il était là pour moi, il connaissait mon prénom. Il m'a emmené dans un bureau, m'a  […]

Continue reading

Thursday 27 October 2011

Économie, équilibre et justice sociale

De quoi ça parle? De la recherche d'une théorie économique permettant d'envisager la justice sociale… Deux généralités en guise d'introduction : il ne peut y avoir de justice sans équilibre, et il est plus facile de perdre l'équilibre que de le trouver. Conséquence immédiate : si les mots «justice  […]

Continue reading

Friday 14 October 2011

Le 1% ne se laissera pas faire

Qu'on se le dise, le 1% ne se laissera pas faire! Lien : We are the 99 percent

Saturday 10 September 2011

Le francophile et l'espérantiste

L'espérantiste Monsieur, je vais vous dire le fond de ma pensée.Si l'on fait, comme vous, un homme de papier,La langue Espéranto représente un danger.Mais l'homme sans attache, sans pays, sans passé,Puisqu'il ne saurait naître, ne saurait exister! Le francophile Le formule est jolie mais c'est une  […]

Continue reading

Sunday 14 August 2011

Le plutonium, un placement sûr et rentable

Artefarita Investments est un cabinet de gestion patrimoniale et de valorisation d'actifs en forte croissance depuis une génération. Notre engagement : si ce n'est pas un expert, c'est une professionnelle Nous sommes de bon conseil Souvenez-vous. Il y a quelques années, nous vous suggérions  […]

Continue reading

Friday 5 August 2011

Les hommes sérieux et la picoseconde

Il y a fort bien longtemps —je vous prie de me croire—, on trouvait des hommes sérieux qui prenaient des décisions sérieuses. Un groupe d'hommes sérieux (première moitié du XXIème siècle) Certains d'entre eux avaient pour mission, toute la journée, d'acheter et de vendre toutes sortes de choses :  […]

Continue reading

Wednesday 3 August 2011

L'Oncle Picsou entre la vie et la mort

La tragique nouvelle vient de tomber : Balthazar Picsou, ce sympathique milliardaire connu pour financer les aventures de ses petits-neveux Riri, Fifi et Loulou, est dans le coma. Il y a quelques années, ce fatécieux rentier posait pour Paris-Match Selon diverses sources, l'Oncle Picsou aurait fait  […]

Continue reading

Wednesday 6 July 2011

Olympique Cesson Escrime

Je viens de mettre en ligne la nouvelle version du site web de mon club d'escrime situé à l'Est de Rennes, l'Olympique Cesson Escrime. Mon expérience de DotClear m'a beaucoup aidé à terminer ce travail rapidement (3 jours). Le design est donc volontairement minimaliste. J'en retiens quelques petits  […]

Continue reading

Tuesday 14 June 2011

Un monde peu attractif

Je me suis inscrit sur un site de rencontres. Mais pas n'importe lequel, hein, j'ai choisi celui dont la publicité m'énervait le plus : Attractive World. La publicité en question nous présente des gens au physique alpha, prétendument célibataires, et ayant des Bac+5 en architecture et direction  […]

Continue reading

Sunday 1 May 2011

Le cinéma c'est du cinéma

Jean-Luc Godard aurait un jour déclaré : La photographie, c’est la vérité et le cinéma, c’est vingt-quatre fois la vérité par seconde… Pourtant, le cinéma raconte une histoire le plus souvent inventée dans laquelle des gens jouent un rôle et prononcent des mots écrits à l'avance dans des lieux  […]

Continue reading

Wednesday 27 April 2011

Recette du gâteau d'anniversaire pudique

À partir de ce jour, il n'y aura plus qu'une seule bougie sur mes gâteaux d'anniversaire : celle de l'année en plus.

- page 1 of 7