| /********************************************************************************* |
| * Copyright (c) 2020 Robert Bosch GmbH and others. |
| * |
| * This program and the accompanying materials are made |
| * available under the terms of the Eclipse Public License 2.0 |
| * which is available at https://www.eclipse.org/legal/epl-2.0/ |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| * |
| * Contributors: |
| * Robert Bosch GmbH - initial API and implementation |
| ******************************************************************************** |
| */ |
| package org.eclipse.app4mc.cloud.manager; |
| |
| import org.springframework.context.annotation.Bean; |
| import org.springframework.context.annotation.Configuration; |
| 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.configuration.WebSecurityConfigurerAdapter; |
| import org.springframework.security.core.userdetails.User; |
| import org.springframework.security.core.userdetails.UserDetails; |
| import org.springframework.security.core.userdetails.UserDetailsService; |
| import org.springframework.security.provisioning.InMemoryUserDetailsManager; |
| |
| @Configuration |
| @EnableWebSecurity |
| public class WebSecurityConfig extends WebSecurityConfigurerAdapter { |
| |
| @Override |
| protected void configure(HttpSecurity http) throws Exception { |
| http |
| .authorizeRequests() |
| .antMatchers("/admin").authenticated() |
| .antMatchers("/workflowResults").authenticated() |
| .anyRequest().permitAll() |
| .and() |
| .formLogin() |
| .loginPage("/login") |
| .permitAll() |
| .and() |
| .logout() |
| .permitAll() |
| .and() |
| .csrf() |
| .disable(); |
| } |
| |
| @Bean |
| @Override |
| public UserDetailsService userDetailsService() { |
| UserDetails user = |
| User.withDefaultPasswordEncoder() |
| .username("app4mc") |
| .password("Panorama") |
| .roles("ADMIN") |
| .build(); |
| |
| return new InMemoryUserDetailsManager(user); |
| } |
| } |