No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

11 Días
16 Hrs
37 Min
0 Seg

Aplicar authorities a los usuarios

15/23
Recursos

Aportes 7

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Se entiende como un rol un conjunto de authorities. Es decir, un autority es un permiso puntual mientras un rol un conjunto de permisos.
Un rol puede tener estos permisos de manera conceptual, sin tener que especificar cada authority en el código.

Rol: Acceso a un Modulo(s)
Authorities: Permiso puntual sobre el modulo.

i.e;

El rol Admin tiene acceso al modulo alta de usuarios,
y con los authorities puede crear editar, borrar usuarios.

Un Rol Supervisor, tiene acceso al modulo alta de usuarios, pero con los authorities puede editar solamente usuarios.

Nuevo usuario chef que no esta dentro de la condición para tener el authority “random_order”:

UserSecurityService ```java ``` SecurityConfig ```java package com.platzi.pizzeria.web.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.http.HttpMethod; import org.springframework.security.config.Customizer; 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.configurers.AbstractHttpConfigurer; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.web.SecurityFilterChain; @Configuration @EnableWebSecurity public class SecurityConfig { @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http .csrf(AbstractHttpConfigurer::disable) .cors(Customizer.withDefaults()) .authorizeHttpRequests((authorize) -> authorize .requestMatchers(HttpMethod.GET, "/api/pizzas/**").hasAnyRole("ADMIN", "CUSTOMER") .requestMatchers(HttpMethod.POST, "/api/pizzas/**").hasRole("ADMIN") .requestMatchers(HttpMethod.PUT).hasRole("ADMIN") .requestMatchers("/api/orders/random").hasAuthority("random_order") .requestMatchers("/api/orders/**").hasRole("ADMIN") .anyRequest() .authenticated() ) .httpBasic(Customizer.withDefaults()) ; return http.build(); } @Bean public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } } ```

Lo que entendi sobre los roles y authorities, ejemplo:
Rol: “ADMIN” (agrupa varias authorities)
Authority: "CREATE_USER"
Authority: "DELETE_USER"
Authority: “RANDOM_ORDER”

Estoy tratando de ejectutar **/api/orders/random** pero no he podido por que me manda un error, creo que en el sql no viene incluido la rutina para la creacionde StoreProcedure **take\_random\_pizza\_order**![](https://static.platzi.com/media/user_upload/image-47e2ab3b-2612-4aaa-b6c1-826057367c52.jpg)