[JAVA] Spring Awakening Strategy Spring MVC Partie 2

Gérer la sécurité du ressort

J'ai ajouté la sécurité du printemps à celui-là.

N'oubliez pas _φ (・ _ ・ ・

D'une manière ou d'une autre, il est dans un état, mais j'ai coupé et collé un échantillon du monde et j'ai réussi à le faire fonctionner. C'est comme un foie.

    <http auto-config="true" >
        <!--Paramètres d'autorisation-->
        <intercept-url pattern="/top*" access="hasAnyRole('ROLE_ADMIN', 'ROLE_USER')" />
        <intercept-url pattern="/admin*" access="hasRole('ROLE_ADMIN')" />
        <intercept-url pattern="/list*" access="hasRole('ROLE_ADMIN')" />
        <intercept-url pattern="/user*" access="hasRole('ROLE_USER')" />

        <!--Destination de transition lorsqu'il n'y a pas d'autorité-->
        <access-denied-handler error-page="/403" />

        <!--Processus de connexion par authentification-->
        <form-login
            login-page="/"
            default-target-url="/top"
            authentication-failure-url="/error"
            login-processing-url="/j_spring_security_check"/>

        <!--Processus de déconnexion d'authentification-->
        <logout
            logout-url="/logout"
            logout-success-url="/"
            invalidate-session="true"/>
        <!--ROLE pour les utilisateurs anonymes-->
        <anonymous granted-authority="ROLE_ANONYMOUS" />
    </http>

Dans l'exemple que j'ai utilisé comme référence, l'authentification ID / mot de passe est effectuée avec "security-context.xml", mais à ce moment-là, l'application Web et la base de données sont connectées. Eh bien, c'est naturel, mais lorsque j'ai décrit le processus de configuration pour connecter à nouveau l'application Web et la base de données après la connexion dans "servlet-context.xml", une erreur s'est produite. Le contenu semblait signifier "J'ai fait une connexion entre l'application Web et la base de données plus tôt, donc je ne peux pas faire la seconde ~ (# ゚ Д ゚) ノ". Je n'avais pas d'autre choix que de créer un paramètre DB qui est couramment utilisé dans "applicationContext.xml" et cela a fonctionné sans problème.

Pour référence, j'ai fait la DB comme ça.

CREATE TABLE `todo` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `content` varchar(50) DEFAULT NULL,
  `done` tinyint(1) DEFAULT NULL,
  `email` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8

CREATE TABLE `users` (
  `name` varchar(255) DEFAULT NULL,
  `password` varchar(255) DEFAULT NULL,
  `authority` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8

La source est ici. https://github.com/pugachev/TodoApp.git

Ceci est un site pour vérifier le fonctionnement. http://ikefukurou.com/TodoApp/

Recommended Posts

Spring Awakening Strategy Spring MVC Partie 1
Spring Awakening Strategy Spring MVC Partie 4
Spring Awakening Strategy Spring MVC Partie 3
Spring Awakening Strategy Spring MVC Partie 2
Configuration Java avec Spring MVC
Implémenter le téléchargement de fichiers avec Spring MVC
Spring Boot à partir de zéro Partie 2
Spring Boot à partir de zéro Partie 1