diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000..256180a240 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,17 @@ +language: java + +install: travis_wait 40 mvn -q clean install + +jdk: + - oraclejdk8 + +sudo: false +addons: + apt: + packages: + - oracle-java8-installer + +cache: + directories: + - .autoconf + - $HOME/.m2 \ No newline at end of file diff --git a/spring-boot/src/main/java/org/baeldung/controller/GenericEntityController.java b/spring-boot/src/main/java/org/baeldung/controller/GenericEntityController.java index 7d6293056a..7d1ad7d899 100644 --- a/spring-boot/src/main/java/org/baeldung/controller/GenericEntityController.java +++ b/spring-boot/src/main/java/org/baeldung/controller/GenericEntityController.java @@ -54,8 +54,6 @@ public class GenericEntityController { @GetMapping("/entity/findbyversion") public ResponseEntity findByVersion(@Version String version) { - return version != null - ? new ResponseEntity(entityList.stream().findFirst().get(), HttpStatus.OK) - : new ResponseEntity(HttpStatus.NOT_FOUND); + return version != null ? new ResponseEntity(entityList.stream().findFirst().get(), HttpStatus.OK) : new ResponseEntity(HttpStatus.NOT_FOUND); } } diff --git a/spring-boot/src/test/java/com/baeldung/annotation/servletcomponentscan/JavaEEAppTest.java b/spring-boot/src/test/java/com/baeldung/annotation/servletcomponentscan/JavaEEAppIntegrationTest.java similarity index 79% rename from spring-boot/src/test/java/com/baeldung/annotation/servletcomponentscan/JavaEEAppTest.java rename to spring-boot/src/test/java/com/baeldung/annotation/servletcomponentscan/JavaEEAppIntegrationTest.java index 00705be307..95106d2dc8 100644 --- a/spring-boot/src/test/java/com/baeldung/annotation/servletcomponentscan/JavaEEAppTest.java +++ b/spring-boot/src/test/java/com/baeldung/annotation/servletcomponentscan/JavaEEAppIntegrationTest.java @@ -1,17 +1,12 @@ package com.baeldung.annotation.servletcomponentscan; -import com.baeldung.annotation.servletcomponentscan.javaee.AttrListener; -import com.baeldung.annotation.servletcomponentscan.javaee.EchoServlet; -import com.baeldung.annotation.servletcomponentscan.javaee.HelloFilter; -import com.baeldung.annotation.servletcomponentscan.javaee.HelloServlet; -import org.jboss.arquillian.container.test.api.Deployment; -import org.jboss.arquillian.container.test.api.RunAsClient; -import org.jboss.arquillian.junit.Arquillian; -import org.jboss.arquillian.test.api.ArquillianResource; -import org.jboss.shrinkwrap.api.ShrinkWrap; -import org.jboss.shrinkwrap.api.spec.WebArchive; -import org.junit.Test; -import org.junit.runner.RunWith; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import java.net.MalformedURLException; +import java.net.URI; +import java.net.URL; import javax.inject.Inject; import javax.servlet.FilterRegistration; @@ -22,24 +17,31 @@ import javax.ws.rs.client.Entity; import javax.ws.rs.client.WebTarget; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -import java.net.MalformedURLException; -import java.net.URI; -import java.net.URL; -import static org.junit.Assert.*; +import org.jboss.arquillian.container.test.api.Deployment; +import org.jboss.arquillian.container.test.api.RunAsClient; +import org.jboss.arquillian.junit.Arquillian; +import org.jboss.arquillian.test.api.ArquillianResource; +import org.jboss.shrinkwrap.api.ShrinkWrap; +import org.jboss.shrinkwrap.api.spec.WebArchive; +import org.junit.Test; +import org.junit.runner.RunWith; + +import com.baeldung.annotation.servletcomponentscan.javaee.AttrListener; +import com.baeldung.annotation.servletcomponentscan.javaee.EchoServlet; +import com.baeldung.annotation.servletcomponentscan.javaee.HelloFilter; +import com.baeldung.annotation.servletcomponentscan.javaee.HelloServlet; @RunWith(Arquillian.class) -public class JavaEEAppTest { +public class JavaEEAppIntegrationTest { @Deployment public static WebArchive createDeployment() { - return ShrinkWrap - .create(WebArchive.class) - .addClass(JavaEEApp.class) - .addClasses(AttrListener.class, HelloFilter.class, HelloServlet.class, EchoServlet.class); + return ShrinkWrap.create(WebArchive.class).addClass(JavaEEApp.class).addClasses(AttrListener.class, HelloFilter.class, HelloServlet.class, EchoServlet.class); } - @Inject private ServletContext servletContext; + @Inject + private ServletContext servletContext; @Test public void givenServletContextListener_whenAccessSpecialAttrs_thenFound() throws MalformedURLException { @@ -54,21 +56,18 @@ public class JavaEEAppTest { FilterRegistration filterRegistration = servletContext.getFilterRegistration("hello filter"); assertNotNull(filterRegistration); - assertTrue(filterRegistration - .getServletNameMappings() - .contains("echo servlet")); + assertTrue(filterRegistration.getServletNameMappings().contains("echo servlet")); } - @ArquillianResource private URL base; + @ArquillianResource + private URL base; @Test @RunAsClient public void givenFilterAndServlet_whenGetHello_thenRespondFilteringHello() throws MalformedURLException { Client client = ClientBuilder.newClient(); WebTarget target = client.target(URI.create(new URL(base, "hello").toExternalForm())); - Response response = target - .request() - .get(); + Response response = target.request().get(); assertEquals("filtering hello", response.readEntity(String.class)); } @@ -78,9 +77,7 @@ public class JavaEEAppTest { public void givenFilterAndServlet_whenPostEcho_thenEchoFiltered() throws MalformedURLException { Client client = ClientBuilder.newClient(); WebTarget target = client.target(URI.create(new URL(base, "echo").toExternalForm())); - Response response = target - .request() - .post(Entity.entity("echo", MediaType.TEXT_PLAIN_TYPE)); + Response response = target.request().post(Entity.entity("echo", MediaType.TEXT_PLAIN_TYPE)); assertEquals("filtering echo", response.readEntity(String.class)); } diff --git a/spring-boot/src/test/java/com/baeldung/annotation/servletcomponentscan/SpringBootWithServletComponentTest.java b/spring-boot/src/test/java/com/baeldung/annotation/servletcomponentscan/SpringBootWithServletComponentIntegrationTest.java similarity index 97% rename from spring-boot/src/test/java/com/baeldung/annotation/servletcomponentscan/SpringBootWithServletComponentTest.java rename to spring-boot/src/test/java/com/baeldung/annotation/servletcomponentscan/SpringBootWithServletComponentIntegrationTest.java index 524a4df480..81ac3c9841 100644 --- a/spring-boot/src/test/java/com/baeldung/annotation/servletcomponentscan/SpringBootWithServletComponentTest.java +++ b/spring-boot/src/test/java/com/baeldung/annotation/servletcomponentscan/SpringBootWithServletComponentIntegrationTest.java @@ -20,7 +20,7 @@ import static org.junit.Assert.*; @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = SpringBootAnnotatedApp.class) @AutoConfigureMockMvc @TestPropertySource(properties = { "security.basic.enabled=false", "server.tomcat.additional-tld-skip-patterns=tomee-*.jar,tomcat-*.jar,openejb-*.jar,cxf-*.jar,activemq-*.jar" }) -public class SpringBootWithServletComponentTest { +public class SpringBootWithServletComponentIntegrationTest { @Autowired private ServletContext servletContext; diff --git a/spring-boot/src/test/java/com/baeldung/annotation/servletcomponentscan/SpringBootWithoutServletComponentTest.java b/spring-boot/src/test/java/com/baeldung/annotation/servletcomponentscan/SpringBootWithoutServletComponentIntegrationTest.java similarity index 96% rename from spring-boot/src/test/java/com/baeldung/annotation/servletcomponentscan/SpringBootWithoutServletComponentTest.java rename to spring-boot/src/test/java/com/baeldung/annotation/servletcomponentscan/SpringBootWithoutServletComponentIntegrationTest.java index 811323826b..b2dea25864 100644 --- a/spring-boot/src/test/java/com/baeldung/annotation/servletcomponentscan/SpringBootWithoutServletComponentTest.java +++ b/spring-boot/src/test/java/com/baeldung/annotation/servletcomponentscan/SpringBootWithoutServletComponentIntegrationTest.java @@ -20,7 +20,7 @@ import static org.junit.Assert.*; @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = SpringBootPlainApp.class) @AutoConfigureMockMvc @TestPropertySource(properties = { "security.basic.enabled=false", "server.tomcat.additional-tld-skip-patterns=tomee-*.jar,tomcat-*.jar,openejb-*.jar,cxf-*.jar,activemq-*.jar" }) -public class SpringBootWithoutServletComponentTest { +public class SpringBootWithoutServletComponentIntegrationTest { @Autowired private ServletContext servletContext; diff --git a/spring-boot/src/test/java/org/baeldung/SpringBootApplicationIntegrationTest.java b/spring-boot/src/test/java/org/baeldung/SpringBootApplicationIntegrationTest.java index 3499952ab4..87c59a4662 100644 --- a/spring-boot/src/test/java/org/baeldung/SpringBootApplicationIntegrationTest.java +++ b/spring-boot/src/test/java/org/baeldung/SpringBootApplicationIntegrationTest.java @@ -45,29 +45,22 @@ public class SpringBootApplicationIntegrationTest { public void givenRequestHasBeenMade_whenMeetsFindByDateOfGivenConditions_thenCorrect() throws Exception { MediaType contentType = new MediaType(MediaType.APPLICATION_JSON.getType(), MediaType.APPLICATION_JSON.getSubtype(), Charset.forName("utf8")); - mockMvc.perform(MockMvcRequestBuilders.get("/entity/findbydate/{date}", "2011-12-03T10:15:30")) - .andExpect(MockMvcResultMatchers.status().isOk()) - .andExpect(MockMvcResultMatchers.content().contentType(contentType)) - .andExpect(jsonPath("$.id", equalTo(1))); + mockMvc.perform(MockMvcRequestBuilders.get("/entity/findbydate/{date}", "2011-12-03T10:15:30")).andExpect(MockMvcResultMatchers.status().isOk()).andExpect(MockMvcResultMatchers.content().contentType(contentType)) + .andExpect(jsonPath("$.id", equalTo(1))); } @Test public void givenRequestHasBeenMade_whenMeetsFindByModeOfGivenConditions_thenCorrect() throws Exception { MediaType contentType = new MediaType(MediaType.APPLICATION_JSON.getType(), MediaType.APPLICATION_JSON.getSubtype(), Charset.forName("utf8")); - mockMvc.perform(MockMvcRequestBuilders.get("/entity/findbymode/{mode}", Modes.ALPHA.name())) - .andExpect(MockMvcResultMatchers.status().isOk()) - .andExpect(MockMvcResultMatchers.content().contentType(contentType)) - .andExpect(jsonPath("$.id", equalTo(1))); + mockMvc.perform(MockMvcRequestBuilders.get("/entity/findbymode/{mode}", Modes.ALPHA.name())).andExpect(MockMvcResultMatchers.status().isOk()).andExpect(MockMvcResultMatchers.content().contentType(contentType)).andExpect(jsonPath("$.id", equalTo(1))); } @Test public void givenRequestHasBeenMade_whenMeetsFindByVersionOfGivenConditions_thenCorrect() throws Exception { MediaType contentType = new MediaType(MediaType.APPLICATION_JSON.getType(), MediaType.APPLICATION_JSON.getSubtype(), Charset.forName("utf8")); - mockMvc.perform(MockMvcRequestBuilders.get("/entity/findbyversion").header("Version", "1.0.0")) - .andExpect(MockMvcResultMatchers.status().isOk()) - .andExpect(MockMvcResultMatchers.content().contentType(contentType)) - .andExpect(jsonPath("$.id", equalTo(1))); + mockMvc.perform(MockMvcRequestBuilders.get("/entity/findbyversion").header("Version", "1.0.0")).andExpect(MockMvcResultMatchers.status().isOk()).andExpect(MockMvcResultMatchers.content().contentType(contentType)) + .andExpect(jsonPath("$.id", equalTo(1))); } } diff --git a/spring-data-dynamodb/src/test/java/com/baeldung/spring/data/dynamodb/repository/ProductInfoRepositoryIntegrationTest.java b/spring-data-dynamodb/src/test/java/com/baeldung/spring/data/dynamodb/repository/ProductInfoRepositoryIntegrationTest.java index 8fe3e96940..05badc74b4 100644 --- a/spring-data-dynamodb/src/test/java/com/baeldung/spring/data/dynamodb/repository/ProductInfoRepositoryIntegrationTest.java +++ b/spring-data-dynamodb/src/test/java/com/baeldung/spring/data/dynamodb/repository/ProductInfoRepositoryIntegrationTest.java @@ -44,8 +44,8 @@ public class ProductInfoRepositoryIntegrationTest { private static final String EXPECTED_PRICE = "50"; @Before - @Ignore //TODO Remove Ignore annotations when running locally with Local DynamoDB instance - public void setup() throws Exception { + @Ignore // TODO Remove Ignore annotations when running locally with Local DynamoDB instance + public void setup() throws Exception { try { dynamoDBMapper = new DynamoDBMapper(amazonDynamoDB); @@ -64,7 +64,7 @@ public class ProductInfoRepositoryIntegrationTest { } @Test - @Ignore //TODO Remove Ignore annotations when running locally with Local DynamoDB instance + @Ignore // TODO Remove Ignore annotations when running locally with Local DynamoDB instance public void givenItemWithExpectedCost_whenRunFindAll_thenItemIsFound() { ProductInfo productInfo = new ProductInfo(EXPECTED_COST, EXPECTED_PRICE); diff --git a/spring-mvc-forms/pom.xml b/spring-mvc-forms/pom.xml index f17d695c35..35ed00c0e9 100644 --- a/spring-mvc-forms/pom.xml +++ b/spring-mvc-forms/pom.xml @@ -47,22 +47,6 @@ ${fileupload.version} - - org.springframework.security - spring-security-web - ${org.springframework.security.version} - - - org.springframework.security - spring-security-config - ${org.springframework.security.version} - - - org.springframework.security - spring-security-taglibs - ${org.springframework.security.version} - - @@ -115,7 +99,6 @@ 5.3.3.Final enter-location-of-server 1.3.2 - 4.2.1.RELEASE diff --git a/spring-mvc-forms/src/main/java/com/baeldung/springmvcforms/configuration/WebInitializer.java b/spring-mvc-forms/src/main/java/com/baeldung/springmvcforms/configuration/WebInitializer.java index fdc155e101..2eb669da2c 100644 --- a/spring-mvc-forms/src/main/java/com/baeldung/springmvcforms/configuration/WebInitializer.java +++ b/spring-mvc-forms/src/main/java/com/baeldung/springmvcforms/configuration/WebInitializer.java @@ -3,7 +3,6 @@ package com.baeldung.springmvcforms.configuration; import org.springframework.web.WebApplicationInitializer; import org.springframework.web.context.ContextLoaderListener; import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; -import org.springframework.web.filter.DelegatingFilterProxy; import org.springframework.web.servlet.DispatcherServlet; import javax.servlet.ServletContext; @@ -25,9 +24,7 @@ public class WebInitializer implements WebApplicationInitializer { servlet.setLoadOnStartup(1); servlet.addMapping("/"); - - container.addFilter("springSecurityFilterChain", new DelegatingFilterProxy("springSecurityFilterChain")) - .addMappingForUrlPatterns(null, false, "/*"); + } // @Override // public void onStartup(ServletContext container) { diff --git a/spring-mvc-forms/src/main/webapp/WEB-INF/views/403.jsp b/spring-mvc-forms/src/main/webapp/WEB-INF/views/403.jsp deleted file mode 100644 index e665793e10..0000000000 --- a/spring-mvc-forms/src/main/webapp/WEB-INF/views/403.jsp +++ /dev/null @@ -1,12 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=ISO-8859-1" - pageEncoding="ISO-8859-1"%> - - - - - - - -Your do not have permission to view this page. - - \ No newline at end of file diff --git a/spring-mvc-forms/src/main/webapp/WEB-INF/views/adminPage.jsp b/spring-mvc-forms/src/main/webapp/WEB-INF/views/adminPage.jsp deleted file mode 100644 index a210b690b0..0000000000 --- a/spring-mvc-forms/src/main/webapp/WEB-INF/views/adminPage.jsp +++ /dev/null @@ -1,16 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=ISO-8859-1" - pageEncoding="ISO-8859-1"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> - - - - -Insert title here - - -Welcome admin! Logout - -

-Back to links - - \ No newline at end of file diff --git a/spring-mvc-forms/src/main/webapp/WEB-INF/views/protectedLinks.jsp b/spring-mvc-forms/src/main/webapp/WEB-INF/views/protectedLinks.jsp deleted file mode 100644 index b8453903ba..0000000000 --- a/spring-mvc-forms/src/main/webapp/WEB-INF/views/protectedLinks.jsp +++ /dev/null @@ -1,16 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=ISO-8859-1" - pageEncoding="ISO-8859-1"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> - - - - -Insert title here - - - -">User page -
-">Admin page - - \ No newline at end of file diff --git a/spring-mvc-forms/src/main/webapp/WEB-INF/views/userPage.jsp b/spring-mvc-forms/src/main/webapp/WEB-INF/views/userPage.jsp deleted file mode 100644 index 4c1bd47502..0000000000 --- a/spring-mvc-forms/src/main/webapp/WEB-INF/views/userPage.jsp +++ /dev/null @@ -1,15 +0,0 @@ -<%@ page language="java" contentType="text/html; charset=ISO-8859-1" - pageEncoding="ISO-8859-1"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> - - - - -Insert title here - - -Welcome user! Logout -

-Back to links - - \ No newline at end of file diff --git a/spring-security-custom-permission/pom.xml b/spring-security-custom-permission/pom.xml index 39dec2805f..a2925189e4 100644 --- a/spring-security-custom-permission/pom.xml +++ b/spring-security-custom-permission/pom.xml @@ -128,6 +128,12 @@ spring-security-taglibs ${spring-security-taglibs.version} + + + org.springframework.security + spring-security-core + ${spring-security-core.version} + javax.servlet.jsp.jstl @@ -280,11 +286,15 @@ org.baeldung.Application - UTF-8 + + + UTF-8 1.8 10.13.1.1 1.1.2 4.2.0.RELEASE + 4.2.0.RELEASE + 1.2 2.4.0 1.6.1 diff --git a/spring-security-custom-permission/src/main/java/org/baeldung/Application.java b/spring-security-custom-permission/src/main/java/org/baeldung/Application.java index 71d503e678..072a6ca4fe 100644 --- a/spring-security-custom-permission/src/main/java/org/baeldung/Application.java +++ b/spring-security-custom-permission/src/main/java/org/baeldung/Application.java @@ -9,7 +9,7 @@ import org.springframework.context.annotation.FilterType; @Configuration @EnableAutoConfiguration -@ComponentScan(excludeFilters = @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org.baeldung.voter.*")) +@ComponentScan(excludeFilters = {@ComponentScan.Filter(type = FilterType.REGEX, pattern = "org.baeldung.voter.*"), @ComponentScan.Filter(type = FilterType.REGEX, pattern = "org.baeldung.multiplelogin.*")}) public class Application extends SpringBootServletInitializer { public static void main(String[] args) { SpringApplication.run(Application.class, args); diff --git a/spring-security-custom-permission/src/main/java/org/baeldung/multiplelogin/MultipleLoginApplication.java b/spring-security-custom-permission/src/main/java/org/baeldung/multiplelogin/MultipleLoginApplication.java new file mode 100644 index 0000000000..23fda0547f --- /dev/null +++ b/spring-security-custom-permission/src/main/java/org/baeldung/multiplelogin/MultipleLoginApplication.java @@ -0,0 +1,22 @@ +package org.baeldung.multiplelogin; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.context.web.SpringBootServletInitializer; +import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.builder.SpringApplicationBuilder; + +@SpringBootApplication +@ComponentScan("org.baeldung.multiplelogin") +public class MultipleLoginApplication extends SpringBootServletInitializer { + public static void main(String[] args) { + SpringApplication.run(MultipleLoginApplication.class, args); + } + + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { + return application.sources(MultipleLoginApplication.class); + } +} \ No newline at end of file diff --git a/spring-security-custom-permission/src/main/java/org/baeldung/multiplelogin/MultipleLoginMvcConfig.java b/spring-security-custom-permission/src/main/java/org/baeldung/multiplelogin/MultipleLoginMvcConfig.java new file mode 100644 index 0000000000..ec76be1909 --- /dev/null +++ b/spring-security-custom-permission/src/main/java/org/baeldung/multiplelogin/MultipleLoginMvcConfig.java @@ -0,0 +1,45 @@ +package org.baeldung.multiplelogin; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.ViewResolver; +import org.springframework.web.servlet.config.annotation.EnableWebMvc; +import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; +import org.springframework.web.servlet.view.InternalResourceViewResolver; +import org.springframework.web.servlet.view.JstlView; +import org.springframework.context.annotation.ComponentScan; + +@EnableWebMvc +@Configuration +@ComponentScan("org.baeldung.controller") +public class MultipleLoginMvcConfig extends WebMvcConfigurerAdapter { + + public MultipleLoginMvcConfig() { + super(); + } + + // API + + @Override + public void addViewControllers(final ViewControllerRegistry registry) { + super.addViewControllers(registry); + + registry.addViewController("/anonymous.html"); + + registry.addViewController("/login.html"); + registry.addViewController("/homepage.html"); + registry.addViewController("/console.html"); + } + + @Bean + public ViewResolver viewResolver() { + final InternalResourceViewResolver bean = new InternalResourceViewResolver(); + + bean.setViewClass(JstlView.class); + bean.setPrefix("/WEB-INF/view/"); + bean.setSuffix(".jsp"); + + return bean; + } +} \ No newline at end of file diff --git a/spring-mvc-forms/src/main/java/com/baeldung/springmvcforms/configuration/SecurityConfig.java b/spring-security-custom-permission/src/main/java/org/baeldung/multiplelogin/MultipleLoginSecurityConfig.java similarity index 98% rename from spring-mvc-forms/src/main/java/com/baeldung/springmvcforms/configuration/SecurityConfig.java rename to spring-security-custom-permission/src/main/java/org/baeldung/multiplelogin/MultipleLoginSecurityConfig.java index e35844138d..d7dbf17723 100644 --- a/spring-mvc-forms/src/main/java/com/baeldung/springmvcforms/configuration/SecurityConfig.java +++ b/spring-security-custom-permission/src/main/java/org/baeldung/multiplelogin/MultipleLoginSecurityConfig.java @@ -1,4 +1,4 @@ -package com.baeldung.springmvcforms.configuration; +package org.baeldung.multiplelogin; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; @@ -16,7 +16,7 @@ import org.springframework.security.provisioning.InMemoryUserDetailsManager; @Configuration @EnableWebSecurity -public class SecurityConfig { +public class MultipleLoginSecurityConfig { @Bean public UserDetailsService userDetailsService() throws Exception { diff --git a/spring-mvc-forms/src/main/java/com/baeldung/springmvcforms/controller/UsersController.java b/spring-security-custom-permission/src/main/java/org/baeldung/multiplelogin/UsersController.java similarity index 94% rename from spring-mvc-forms/src/main/java/com/baeldung/springmvcforms/controller/UsersController.java rename to spring-security-custom-permission/src/main/java/org/baeldung/multiplelogin/UsersController.java index c0858d427f..0672a760af 100644 --- a/spring-mvc-forms/src/main/java/com/baeldung/springmvcforms/controller/UsersController.java +++ b/spring-security-custom-permission/src/main/java/org/baeldung/multiplelogin/UsersController.java @@ -1,4 +1,4 @@ -package com.baeldung.springmvcforms.controller; +package org.baeldung.multiplelogin; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; diff --git a/spring-security-custom-permission/src/main/resources/templates/403.html b/spring-security-custom-permission/src/main/resources/templates/403.html new file mode 100644 index 0000000000..20550768cf --- /dev/null +++ b/spring-security-custom-permission/src/main/resources/templates/403.html @@ -0,0 +1,10 @@ + + + + + + + +You do not have permission to view this page. + + \ No newline at end of file diff --git a/spring-security-custom-permission/src/main/resources/templates/adminPage.html b/spring-security-custom-permission/src/main/resources/templates/adminPage.html new file mode 100644 index 0000000000..13aff9b15a --- /dev/null +++ b/spring-security-custom-permission/src/main/resources/templates/adminPage.html @@ -0,0 +1,13 @@ + + + + +Insert title here + + +Welcome admin! Logout + +

+Back to links + + \ No newline at end of file diff --git a/spring-security-custom-permission/src/main/resources/templates/login.html b/spring-security-custom-permission/src/main/resources/templates/login.html new file mode 100644 index 0000000000..dd6bd04767 --- /dev/null +++ b/spring-security-custom-permission/src/main/resources/templates/login.html @@ -0,0 +1,27 @@ + + + + +

Login

+ +
+ + + + + + + + + + + + + + +
User:
Password:
+ +
+ + + \ No newline at end of file diff --git a/spring-mvc-forms/src/main/webapp/WEB-INF/views/loginAdmin.jsp b/spring-security-custom-permission/src/main/resources/templates/loginAdmin.html similarity index 55% rename from spring-mvc-forms/src/main/webapp/WEB-INF/views/loginAdmin.jsp rename to spring-security-custom-permission/src/main/resources/templates/loginAdmin.html index a6b2ee7914..43d0e73233 100644 --- a/spring-mvc-forms/src/main/webapp/WEB-INF/views/loginAdmin.jsp +++ b/spring-security-custom-permission/src/main/resources/templates/loginAdmin.html @@ -1,10 +1,7 @@ -<%@ page language="java" contentType="text/html; charset=ISO-8859-1" - pageEncoding="ISO-8859-1"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> - + - + Insert title here @@ -15,7 +12,7 @@ - + @@ -28,11 +25,7 @@ - <% - if (request.getParameter("error") != null) { - out.println("Login failed!"); - } - %> +

Login failed!

\ No newline at end of file diff --git a/spring-mvc-forms/src/main/webapp/WEB-INF/views/loginUser.jsp b/spring-security-custom-permission/src/main/resources/templates/loginUser.html similarity index 54% rename from spring-mvc-forms/src/main/webapp/WEB-INF/views/loginUser.jsp rename to spring-security-custom-permission/src/main/resources/templates/loginUser.html index e65c11edaf..bf4ddd48bc 100644 --- a/spring-mvc-forms/src/main/webapp/WEB-INF/views/loginUser.jsp +++ b/spring-security-custom-permission/src/main/resources/templates/loginUser.html @@ -1,10 +1,7 @@ -<%@ page language="java" contentType="text/html; charset=ISO-8859-1" - pageEncoding="ISO-8859-1"%> -<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> - + - +Login @@ -15,7 +12,7 @@
User:
Password:
- + @@ -27,11 +24,7 @@
User:
Password:
- <% - if (request.getParameter("error") != null) { - out.println("Login failed!"); - } - %> +

Login failed!

\ No newline at end of file diff --git a/spring-security-custom-permission/src/main/resources/templates/protectedLinks.html b/spring-security-custom-permission/src/main/resources/templates/protectedLinks.html new file mode 100644 index 0000000000..1877464fe5 --- /dev/null +++ b/spring-security-custom-permission/src/main/resources/templates/protectedLinks.html @@ -0,0 +1,13 @@ + + + + +Insert title here + + + +User page +
+Admin page + + \ No newline at end of file diff --git a/spring-security-custom-permission/src/main/resources/templates/userPage.html b/spring-security-custom-permission/src/main/resources/templates/userPage.html new file mode 100644 index 0000000000..894a225871 --- /dev/null +++ b/spring-security-custom-permission/src/main/resources/templates/userPage.html @@ -0,0 +1,12 @@ + + + + +Insert title here + + +Welcome user! Logout +

+Back to links + + \ No newline at end of file