Skip to content

Commit 276cc65

Browse files
SpringBootEmbeddedLdapExample
1 parent cc3ff46 commit 276cc65

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+14413
-0
lines changed

SpringBootEmbeddedLdapExample/pom.xml

+101
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
5+
http://maven.apache.org/xsd/maven-4.0.0.xsd">
6+
7+
<modelVersion>4.0.0</modelVersion>
8+
9+
<groupId>SpringBootEmbeddedLdapExample</groupId>
10+
<artifactId>SpringBootEmbeddedLdapExample</artifactId>
11+
<version>1.0-SNAPSHOT</version>
12+
13+
<parent>
14+
<groupId>org.springframework.boot</groupId>
15+
<artifactId>spring-boot-starter-parent</artifactId>
16+
<version>1.3.3.RELEASE</version>
17+
</parent>
18+
19+
20+
<organization>
21+
<name>ESpark</name>
22+
<url>http://adarshkumarsingh83.blogspot.in/</url>
23+
</organization>
24+
<licenses>
25+
<license>
26+
<name>ESpark</name>
27+
<url>http://adarshkumarsingh83.blogspot.in/licenses/LICENSE-2.0.txt</url>
28+
<distribution>repo</distribution>
29+
</license>
30+
</licenses>
31+
<developers>
32+
<developer>
33+
<id>adarshkumarsingh83</id>
34+
<name>Adarsh Kumar</name>
35+
<email>adarshkumarsingh83@gmail.com</email>
36+
<roles>
37+
<role>project architect</role>
38+
</roles>
39+
</developer>
40+
</developers>
41+
42+
43+
<properties>
44+
<project.name>SpringBootEmbeddedLdapExample</project.name>
45+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
46+
<java.version>1.7</java.version>
47+
</properties>
48+
49+
<dependencies>
50+
51+
<dependency>
52+
<groupId>org.springframework.boot</groupId>
53+
<artifactId>spring-boot-starter-thymeleaf</artifactId>
54+
</dependency>
55+
<dependency>
56+
<groupId>org.springframework.boot</groupId>
57+
<artifactId>spring-boot-starter-web</artifactId>
58+
</dependency>
59+
<dependency>
60+
<groupId>org.springframework.boot</groupId>
61+
<artifactId>spring-boot-starter-security</artifactId>
62+
</dependency>
63+
<dependency>
64+
<groupId>org.springframework.security</groupId>
65+
<artifactId>spring-security-ldap</artifactId>
66+
</dependency>
67+
<dependency>
68+
<groupId>org.apache.directory.server</groupId>
69+
<artifactId>apacheds-server-jndi</artifactId>
70+
<version>1.5.5</version>
71+
</dependency>
72+
73+
<dependency>
74+
<groupId>log4j</groupId>
75+
<artifactId>log4j</artifactId>
76+
<version>1.2.17</version>
77+
</dependency>
78+
79+
</dependencies>
80+
81+
<build>
82+
<finalName>${project.name}</finalName>
83+
<resources>
84+
<resource>
85+
<directory>src/main/resources</directory>
86+
<filtering>true</filtering>
87+
</resource>
88+
</resources>
89+
<plugins>
90+
<plugin>
91+
<artifactId>maven-compiler-plugin</artifactId>
92+
<configuration>
93+
<source>${java.version}</source>
94+
<target>${java.version}</target>
95+
<encoding>${project.build.sourceEncoding}</encoding>
96+
</configuration>
97+
</plugin>
98+
</plugins>
99+
</build>
100+
101+
</project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
>mvn clean install
2+
>mvn spring-boot:run
3+
url=localhost:8080/
4+
5+
for Super Admin
6+
username adarsh
7+
pwd adarsh
8+
9+
for Admin
10+
username radha
11+
pwd radha
12+
13+
for User
14+
username user
15+
pwd user
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
/*
2+
* Copyright (c) 2015 Espark And ©Adarsh Development Services @copyright All rights reserved.
3+
*
4+
* Redistribution and use in source and binary forms, with or without
5+
* modification, are permitted provided that the following conditions
6+
* are met:
7+
*
8+
* - Redistributions of source code must retain the above copyright
9+
* notice, this list of conditions and the following disclaimer.
10+
*
11+
* - Redistributions in binary form must reproduce the above copyright
12+
* notice, this list of conditions and the following disclaimer in the
13+
* documentation and/or other materials provided with the distribution.
14+
*
15+
* - Neither the name of Espark nor the names of its
16+
* contributors may be used to endorse or promote products derived
17+
* from this software without specific prior written permission.
18+
*
19+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
20+
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21+
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22+
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
23+
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24+
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25+
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
26+
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
27+
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
28+
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29+
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30+
*/
31+
package com.espark.adarsh;
32+
33+
import org.springframework.boot.SpringApplication;
34+
import org.springframework.boot.autoconfigure.SpringBootApplication;
35+
36+
37+
/**
38+
* @author Adarsh Kumar
39+
* @author $LastChangedBy: Adarsh Kumar$
40+
* @version $Revision: 0001 $, $Date:: 1/1/10 0:00 AM#$
41+
* @Espark @copyright all right reserve
42+
*/
43+
@SpringBootApplication
44+
public class Application {
45+
46+
public static void main(String[] args) {
47+
SpringApplication.run(Application.class, args);
48+
}
49+
50+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
/*
2+
* Copyright (c) 2015 Espark And ©Adarsh Development Services @copyright All rights reserved.
3+
*
4+
* Redistribution and use in source and binary forms, with or without
5+
* modification, are permitted provided that the following conditions
6+
* are met:
7+
*
8+
* - Redistributions of source code must retain the above copyright
9+
* notice, this list of conditions and the following disclaimer.
10+
*
11+
* - Redistributions in binary form must reproduce the above copyright
12+
* notice, this list of conditions and the following disclaimer in the
13+
* documentation and/or other materials provided with the distribution.
14+
*
15+
* - Neither the name of Espark nor the names of its
16+
* contributors may be used to endorse or promote products derived
17+
* from this software without specific prior written permission.
18+
*
19+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
20+
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21+
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22+
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
23+
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24+
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25+
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
26+
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
27+
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
28+
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29+
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30+
*/
31+
package com.espark.adarsh.configuration.security;
32+
33+
import org.springframework.context.annotation.Configuration;
34+
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
35+
import org.springframework.security.config.annotation.authentication.configurers.GlobalAuthenticationConfigurerAdapter;
36+
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
37+
import org.springframework.security.config.annotation.web.builders.WebSecurity;
38+
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
39+
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
40+
import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
41+
42+
43+
/**
44+
* @author Adarsh Kumar
45+
* @author $LastChangedBy: Adarsh Kumar$
46+
* @version $Revision: 0001 $, $Date:: 1/1/10 0:00 AM#$
47+
* @Espark @copyright all right reserve
48+
*/
49+
@Configuration
50+
@EnableWebSecurity
51+
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
52+
53+
@Override
54+
public void configure(WebSecurity webSecurity) throws Exception {
55+
webSecurity.ignoring()
56+
.antMatchers("/css/**")
57+
.antMatchers("/js/**")
58+
.antMatchers("/font/**");
59+
}
60+
61+
@Override
62+
protected void configure(HttpSecurity httpSecurity) throws Exception {
63+
64+
httpSecurity
65+
.authorizeRequests()
66+
.antMatchers("/", "/esparkHome").permitAll()
67+
.anyRequest().authenticated()
68+
.and()
69+
.formLogin()
70+
.loginPage("/esparkLoginPage")
71+
.defaultSuccessUrl("/esparkUserPage")
72+
.permitAll()
73+
.and()
74+
.csrf().disable()
75+
.logout().logoutRequestMatcher(new AntPathRequestMatcher("/logout"))
76+
.logoutSuccessUrl("/esparkHome")
77+
.permitAll();
78+
79+
}
80+
81+
82+
@Configuration
83+
protected static class AuthenticationConfiguration extends
84+
GlobalAuthenticationConfigurerAdapter {
85+
86+
@Override
87+
public void init(AuthenticationManagerBuilder auth) throws Exception {
88+
auth
89+
.ldapAuthentication()
90+
.userDnPatterns("uid={0},ou=people")
91+
.groupSearchBase("ou=groups")
92+
.contextSource().ldif("classpath:espark.ldif");
93+
94+
}
95+
}
96+
97+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
/*
2+
* Copyright (c) 2015 Espark And ©Adarsh Development Services @copyright All rights reserved.
3+
*
4+
* Redistribution and use in source and binary forms, with or without
5+
* modification, are permitted provided that the following conditions
6+
* are met:
7+
*
8+
* - Redistributions of source code must retain the above copyright
9+
* notice, this list of conditions and the following disclaimer.
10+
*
11+
* - Redistributions in binary form must reproduce the above copyright
12+
* notice, this list of conditions and the following disclaimer in the
13+
* documentation and/or other materials provided with the distribution.
14+
*
15+
* - Neither the name of Espark nor the names of its
16+
* contributors may be used to endorse or promote products derived
17+
* from this software without specific prior written permission.
18+
*
19+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
20+
* IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21+
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22+
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
23+
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
24+
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
25+
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
26+
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
27+
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
28+
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
29+
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30+
*/
31+
package com.espark.adarsh.configuration.web;
32+
33+
import org.springframework.context.annotation.Configuration;
34+
import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
35+
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
36+
37+
/**
38+
* @author Adarsh Kumar
39+
* @author $LastChangedBy: Adarsh Kumar$
40+
* @version $Revision: 0001 $, $Date:: 1/1/10 0:00 AM#$
41+
* @Espark @copyright all right reserve
42+
*/
43+
@Configuration
44+
public class WbMvcConfiguration extends WebMvcConfigurerAdapter {
45+
46+
@Override
47+
public void addViewControllers(ViewControllerRegistry registry) {
48+
registry.addViewController("/").setViewName("esparkHome");
49+
registry.addViewController("/esparkHome").setViewName("esparkHome");
50+
registry.addViewController("/esparkUserPage").setViewName("esparkUserPage");
51+
registry.addViewController("/esparkLoginPage").setViewName("esparkLoginPage");
52+
}
53+
54+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
message=welcome to the Spring Boot Aop
2+
3+
# Log levels severity mapping.
4+
logging.file=application.log
5+
logging.path=\\log
6+
logging.level.*= ALL
7+
logging.level.org.springframework=ALL
8+
9+
spring.application.index=esparkHome.html

0 commit comments

Comments
 (0)