Spring Boot Security

Um Spring Boot Security zu nutzen, wird die folgende dependency benötigt:


org.springframework.boot
spring-boot-starter-security

Defaultmäßig wird der User “username:user” mit dem Passwort - dazu beim starten von Spring Boot in der Konsole nach “Using default security password” suchen - erstellt. Dieser hat die Rolle “ADMIN”. In der Application Klasse kann man dann noch

@EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true)

hinzufügen um die Annotations zu aktivieren. Damit kann man dann in einer RepositotyRestResource z.B. eine Methode wie folgt absichern:

import java.util.List;

import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.data.rest.core.annotation.RepositoryRestResource;
import org.springframework.security.access.prepost.PreAuthorize;

@RepositoryRestResource()
public interface FooRepositoryService extends PagingAndSortingRepository<Foo, Long>{
@PreAuthorize(“hasRole(‘ROLE_USER_X’)”)
List findByNameIgnoreCase(@Param(“name2”) String name);

@Override
@PreAuthorize("hasRole('ROLE\_USER\_Y')")
Foo save(Foo foo);

}