I have created two application, App-Server and App-Client.
App Server is Spring Boot 2 and Spring Security OAuth2.
App-Client is Angular JS 6.
When i am running both app separately they are working fine, but when i tried to use App-Server to serve static content (app-client), it's not working.
I am using below code to add static files into App-Server.
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-resources</id>
<phase>validate</phase>
<goals><goal>copy-resources</goal></goals>
<configuration>
<outputDirectory>${basedir}/target/classes/static/</outputDirectory>
<resources>
<resource>
<directory>${basedir}/../app-client/dist/app-client</directory >
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
My Web Security look like
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
@Order(Ordered.HIGHEST_PRECEDENCE)
protected void configure(HttpSecurity http) throws Exception {
http
.sessionManagement()
.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and()
.csrf().disable()
.authorizeRequests()
.antMatchers("/about","/signup","/oauth/token","/users/otp").permitAll()
.anyRequest().authenticated()
.and().logout().logoutSuccessUrl("/").permitAll()
.and()
.httpBasic()
.realmName(REALM);
}
//Some other code .....
}
Any my ResourceServerConfig look like below
@Configuration
@EnableResourceServer
public class ResourceServerConfig extends ResourceServerConfigurerAdapter
{
@Autowired
private TokenStore tokenStore;
@Override
public void configure(ResourceServerSecurityConfigurer resources)throws Exception{
resources.resourceId("app-server-api").tokenStore(tokenStore);
}
@Override
public void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/","/users/otp", "/index.html","/resources/**","/images/**")
.permitAll()
.antMatchers("/v1/**")
.authenticated();
}
}
When ever i tried to hit any static file i didn't any response back.
However in the local, i can see
No mapping found for HTTP request with URI [/api/index.html] in DispatcherServlet with name 'dispatcherServlet'
...