sec preauthorize multiple method hasrole examples spring-boot spring-security

spring boot - preauthorize - Springboot Security hasRole no funciona



spring security hasrole multiple (1)

ROLE_ nombrar su autoridad con el prefijo ROLE_ para usar isUserInRole , consulte Spring Security Reference :

HttpServletRequest.isUserInRole (String) determinará si SecurityContextHolder.getContext().getAuthentication().getAuthorities() contiene una GrantedAuthority con el rol pasado a isUserInRole(String) . Por lo general, los usuarios no deben pasar el prefijo "ROLE_" a este método, ya que se agrega automáticamente. Por ejemplo, si desea determinar si el usuario actual tiene la autoridad "ROLE_ADMIN", puede usar lo siguiente:

boolean isAdmin = httpServletRequest.isUserInRole("ADMIN");

Lo mismo para hasRole (también hasAnyRole ), consulte Spring Security Reference :

Devuelve true si el principal actual tiene el rol especificado. De manera predeterminada, si el rol proporcionado no comienza con ''ROLE_'', se agregará. Esto se puede personalizar modificando defaultRolePrefix en DefaultWebSecurityExpressionHandler .

No puedo usar el método @PreAuthorize en la anotación @PreAuthorize . También request.isUserInRole(“ADMIN”) da false . ¿Qué me estoy perdiendo? Aunque .hasAuthority(“ADMIN”) funciona bien.

Estoy asignando autoridades a los usuarios desde una base de datos.