Files
hawkbit/hawkbit-runtime/hawkbit-update-server
Bondar Bogdan 0e4b67895e Vaadin security enhancements (#1003)
* Removed VaadinManagedSecurity configuration from MgmtUiAutoConfiguration
* added SessionFixationProtectionStrategy for additional protection of UI session authentication
* added VaadinSessionClosingLogoutHandler to logout from all UI sessions
* added AccessDecisionManager to UI security configuration in order to support method security in UI in context of VaadinSharedSecurity
* Changed UI push transport from WEBSOCKET to WEBSOCKET_XHR to solve problems with Spring Security Context
* Suppressed atmosphere IOUtils false-positive warning
* Removed obsolete AsyncVaadinServletConfiguration
* Defined Vaadin4SpringServlet bean instead of plain SpringVaadinServlet for configuration flexibility
* Removed obsolete SpringSecurityAtmosphereInterceptor because the client does not communicate with the server using websocket protocol anymore
* Removed unit test for SpringSecurityAtmosphereInterceptor
* Removed obsolete AuthenticationManagerConfigurer coming from Vaadin Managed Security in InMemoryUserManagementAutoConfiguration
* Removed SessionFixationProtectionStrategy and VaadinSessionClosingLogoutHandler because all wrapper sessions are invalidated when the session managed by Spring gets invalidated together with configured HttpSessionEventPublisher events
* Added call to close the current session before logout redirect
* added comment why we used WEBSOCKET_XHR instead of WEBSOCKET

Signed-off-by: Bogdan Bondar <Bogdan.Bondar@bosch.io>
2020-09-03 10:35:22 +02:00
..
2020-09-03 10:35:22 +02:00
2020-03-03 09:01:31 +01:00
2018-09-21 14:12:47 +02:00

hawkBit Update Server

The hawkBit Update Server is a standalone spring-boot application with an embedded servlet container .

On your own workstation

Run

java -jar hawkbit-runtime/hawkbit-update-server/target/hawkbit-update-server-*-SNAPSHOT.jar

(Note: you have to add the JDBC driver also to your class path if you intend to use another database than H2.)

Or:

run org.eclipse.hawkbit.app.Start

Usage

The Management UI can be accessed via http://localhost:8080/UI The Management API can be accessed via http://localhost:8080/rest/v1

Enable Clustering (experimental)

Clustering in hawkBit is based on Spring Cloud Bus. It is not enabled in the example app by default.

Add to your application.properties :

spring.cloud.bus.enabled=true

Add to your pom.xml :

<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-stream-binder-rabbit</artifactId>
</dependency>

Optional as well is the addition of Protostuff based message payload serialization for improved performance.

Add to your application.properties :

spring.cloud.stream.bindings.springCloudBusInput.content-type=application/binary+protostuff
spring.cloud.stream.bindings.springCloudBusOutput.content-type=application/binary+protostuff

Add to your pom.xml :

<dependency>
  <groupId>io.protostuff</groupId>
  <artifactId>protostuff-core</artifactId>
</dependency>
<dependency>
  <groupId>io.protostuff</groupId>
  <artifactId>protostuff-runtime</artifactId>
</dependency>