El control del permiso también es un escenario que a menudo encontramos en el desarrollo diario. Necesitamos decidir si podemos ver un cierto recurso basado en el rol del usuario. En la actualidad, este tipo de marco en el mercado incluye principalmente a Shiro y la seguridad de la primavera de la que vamos a hablar hoy. Hay controles complejos con respecto al control del permiso. Por ejemplo, casi todas las empresas tienen un solo sistema de inicio de sesión. Se llega a la base de datos basada en el nombre de usuario para obtener los permisos correspondientes y muestra los recursos que puede ver con este permiso. Otro tipo es el control simple, que es lo que vamos a mencionar hoy. Al configurar la cuenta, la contraseña y el rol en el código, también puede realizar un control simple. Las desventajas son evidentes, la expansión no es buena y solo hay una cuenta fija, pero sigue siendo suficiente para una demostración.
Ok, no digas muchas tonterías, ve a Pom
<Spendency> <ProupId> org.springframework.boot </groupid> <artifactID> spring-boot-starter </arfactid> </pendency> <pendency> <grupoD> org.springframework.boot </groupId> <artifactid> spring-boot-starter-web </artifactid> </tependency> <pendency> <MoupRoD> org.springframework.boot </groupid> <artifactID> spring-boot-starter-security </artifactid> </dependency>
Spring-boot-starter-seguridad envuelve las dependencias requeridas por la seguridad de la primavera. No necesitamos configurar uno por uno, lo que simplifica nuestras operaciones y ahorra nuestro tiempo. Tengo que decir que estos marcos de nivel empresarial son considerados. Si agregamos frascos nosotros mismos, pueden surgir varios problemas debido a la incompatibilidad entre versiones. Todo esto está fuera del tema. Estaré asombrado y continuaremos. Consulte la clase de configuración
paquete 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. WebSecurityConfigurationAdapter extiende WebSecurityConfigurerAdapter {@Override Protected Void Configurure (httpsecurity http) lanza la excepción {http.csrf (). Disable (); http .authorizequests () .antMatchers ("/index") .hasrole ("admin") .yyRequest (). Permitall () .and () .httpbasic (); }}}Esta configuración se traduce al chino: se requiere el permiso de administración para acceder al enlace /índice, y todo lo demás está permitido. A veces solo prestamos atención al código. De hecho, esta anotación @enableWebSecurity es más importante porque es el comienzo de la seguridad de la primavera. Introdujo muchas clases de configuración para que la seguridad sea efectiva. Establecimos los permisos de administración, pero no establecimos el nombre de usuario y la contraseña correspondientes a los permisos de administración, así que mire el archivo de configuración
Seguridad: Usuario: Nombre: Raíz Contraseña: Rol de raíz: Admin
La configuración está casi lista, eche un vistazo a nuestro controlador
paquete com.shuqi.controller; import org.springframework.web.bind.annotation.requestMapping; import org.springframework.web.bind.annotation.restController; @RestControllerPublic Class Hellocontroller {@RequestMapping ("/índice") Public String Index () {RETUNTROTROLLER Class Hellocontroller {@RequestMapping ("/") Public String Index () {RETUNTER ". } @RequestMapping ("/index1") public String index1 () {return "Hello World Index1"; }}Uno es interceptado /índice, y el otro no es interceptado /index1, ver la diferencia. Iniciar el proyecto, acceso /índice
Puede ver que se ha agregado el control de acceso y se ingresan la raíz y la raíz.
Puedes ver los resultados
Enter /Index1 para ver el resultado directamente
Esto significa que nuestra configuración ha entrado en vigencia, y Spring Security de hecho nos ha ayudado a controlar el acceso.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.