Le contrôle de l'autorisation est également un scénario que nous rencontrons souvent dans le développement quotidien. Nous devons décider si nous pouvons voir une certaine ressource en fonction du rôle de l'utilisateur. À l'heure actuelle, ce type de cadre sur le marché comprend principalement Shiro et la sécurité du printemps dont nous allons parler aujourd'hui. Il existe des contrôles complexes concernant le contrôle de l'autorisation. Par exemple, presque toutes les entreprises ont un seul système de connexion. Il vient de la base de données basée sur le nom d'utilisateur pour obtenir les autorisations correspondantes et affiche les ressources que vous pouvez voir sous cette autorisation. Un autre type est un contrôle simple, ce que nous allons mentionner aujourd'hui. En configurant le compte, le mot de passe et le rôle dans le code, vous pouvez également effectuer un contrôle simple. Les inconvénients sont évidents, l'expansion n'est pas bonne et il n'y a qu'un compte fixe, mais c'est encore suffisant pour une démonstration.
Ok, ne dis pas beaucoup de bêtises, allez à Pom
<dependency> <proupId> org.springframework.boot </proupId> <ArtifActid> printemps-boot-starter </ artifactid> </dendency> <dependency> <proupId> org.springframework.boot </prouprid> <prifactid> Spring-boot-starter-web </ artifactid> </dedency> <dependence> <GroupId> org.springframework.boot </proupId> <ArtefactId> printemps-boot-starter-security </refactive> </dependency>
Spring-Boot-Starter-Security Enveloppe les dépendances requises par Spring Security. Nous n'avons pas besoin de configurer un par un, ce qui simplifie nos opérations et gagne notre temps. Je dois dire que ces cadres de niveau d'entreprise sont prévenants. Si nous ajoutons les pots nous-mêmes, divers problèmes peuvent survenir en raison de l'incompatibilité entre les versions. Tout cela est hors sujet. Je serai étonné et nous continuerons. Découvrez la classe de configuration
package com.shuqi; import org.springframework.context.annotation.configuration; import org.springframework.core.annotation.order; import org.springframework.security.config.annotation.web.builders.httpsecurity; import; org.springframework.security.config.annotation.web.configuration.enablewebSecurity; import org.springframework.security.config.annotation.web.configuration.websecurityconfigureradapter; @enableweburityPublic SecurityConfig {@configuration public static class websecurityPublic SecurityConfig {@configuration publique static class websecurityPublic SecurityConfig {@configuration public static class websecurityConfigrofic WebSecurityConfigurerAdapter {@Override Protected void Configure (httpSecurity http) lève une exception {http.csrf (). Disable (); http .AuthorizeRquests () .antmatchers ("/ index") .hasrole ("admin") .anyRequest (). permutall () .and () .httpbasic (); }}}Cette configuration est traduite en chinois: l'autorisation d'administration est requise pour accéder au lien / index, et tout le reste est autorisé. Parfois, nous ne faisons attention au code qu'au code. En fait, cette annotation @enablewebscurity est plus importante car c'est le début de la sécurité du printemps. Il a introduit de nombreuses classes de configuration pour rendre la sécurité efficace. Nous définissons les autorisations d'administration, mais nous n'avons pas défini le nom d'utilisateur et le mot de passe correspondant aux autorisations d'administration, alors regardez le fichier de configuration
Sécurité: utilisateur: Nom: Root Motword: Root Role: Admin
La configuration est presque terminée, jetez un œil à notre contrôleur
Package Com.shuqi.Controller; import org.springframework.web.bind.annotation.requestmapping; import org.springframework.web.bind.annotation.restController; @restControllerPublic Class HellOController {@requestmapping ("/ index") public index () {rendewer world index "; } @RequestMapping ("/ index1") public String index1 () {return "Hello World index1"; }}L'un est intercepté / index, et l'autre n'est pas intercepté / index1, voir la différence. Démarrer le projet, accès / index
Vous pouvez voir que le contrôle d'accès a été ajouté et que la racine et la racine sont entrées.
Vous pouvez voir les résultats
Entrez / index1 pour voir le résultat directement
Cela signifie que notre configuration a pris effet et que Spring Security nous a en effet aidés à contrôler l'accès.
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.