Skip to content

Commit 33b6d5c

Browse files
author
Eugen
committed
Merge pull request #37 from egmp777/master
Spring Security Login and Registration
2 parents 464a60e + d888631 commit 33b6d5c

31 files changed

+6372
-343
lines changed

spring-security-login-error-handling/.classpath

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@
1717
<attribute name="maven.pomderived" value="true"/>
1818
</attributes>
1919
</classpathentry>
20-
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
20+
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
2121
<attributes>
2222
<attribute name="maven.pomderived" value="true"/>
23+
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
2324
</attributes>
2425
</classpathentry>
25-
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
26+
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
2627
<attributes>
27-
<attribute name="maven.pomderived" value="true"/>
28-
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
28+
<attribute name="owner.project.facets" value="java"/>
2929
</attributes>
3030
</classpathentry>
3131
<classpathentry kind="output" path="target/classes"/>

spring-security-login-error-handling/.project

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@
3535
<arguments>
3636
</arguments>
3737
</buildCommand>
38+
<buildCommand>
39+
<name>org.hibernate.eclipse.console.hibernateBuilder</name>
40+
<arguments>
41+
</arguments>
42+
</buildCommand>
3843
</buildSpec>
3944
<natures>
4045
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
@@ -44,5 +49,6 @@
4449
<nature>org.eclipse.m2e.core.maven2Nature</nature>
4550
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
4651
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
52+
<nature>org.hibernate.eclipse.console.hibernateNature</nature>
4753
</natures>
4854
</projectDescription>

spring-security-login-error-handling/pom.xml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<parent>
1212
<groupId>org.springframework.boot</groupId>
1313
<artifactId>spring-boot-starter-parent</artifactId>
14-
<version>1.1.5.RELEASE</version>
14+
<version>1.1.4.RELEASE</version>
1515
</parent>
1616

1717
<dependencies>
@@ -100,6 +100,10 @@
100100
<groupId>org.hibernate</groupId>
101101
<artifactId>hibernate-entitymanager</artifactId>
102102
</dependency>
103+
<dependency>
104+
<groupId>org.hibernate</groupId>
105+
<artifactId>hibernate-validator</artifactId>
106+
</dependency>
103107

104108
<!-- DB dependencies -->
105109
<dependency>
@@ -137,6 +141,9 @@
137141
</build>
138142
<properties>
139143
<java-version>1.7</java-version>
144+
<org.springframework-version>3.1.1.RELEASE</org.springframework-version>
145+
<org.springframework.security.version>3.2.4.RELEASE</org.springframework.security.version>
146+
<org.aspectj-version>1.6.10</org.aspectj-version>
140147

141148
<!-- logging -->
142149
<org.slf4j.version>1.7.6</org.slf4j.version>
@@ -149,7 +156,7 @@
149156
<javax.inject.version>1</javax.inject.version>
150157

151158
<!-- Spring Data Jpa -->
152-
<spring-data-jpa.version>1.6.2.RELEASE</spring-data-jpa.version>
159+
<spring-data-jpa.version>1.4.1.RELEASE</spring-data-jpa.version>
153160

154161
<!-- guava -->
155162
<guava.version>17.0</guava.version>

spring-security-login-error-handling/src/main/java/org/baeldung/persistence/dao/UserRepository.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import org.springframework.data.jpa.repository.JpaRepository;
44
import org.baeldung.persistence.model.User;
55

6-
public interface UserRepository extends JpaRepository<User, Long> {
6+
7+
public interface UserRepository extends JpaRepository<User,Long>{
78
public User findByUsername(String username);
89
}

spring-security-login-error-handling/src/main/java/org/baeldung/persistence/model/Role.java

Lines changed: 45 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -11,58 +11,52 @@
1111
import javax.persistence.OneToOne;
1212
import javax.persistence.Table;
1313

14-
@Entity(name = "role")
14+
15+
@Entity(name="role")
1516
@Table(name = "role")
1617
public class Role {
1718

18-
@Id
19-
@GeneratedValue(strategy = GenerationType.AUTO)
20-
private Long id;
21-
22-
@OneToOne(targetEntity = User.class, fetch = FetchType.EAGER, cascade = CascadeType.ALL)
23-
@JoinColumn(name = "user_id")
24-
private User user;
25-
26-
@Column(name = "role")
27-
private Integer role;
28-
29-
public Role() {
30-
super();
31-
32-
}
33-
34-
public Role(Integer role) {
35-
super();
36-
this.role = role;
37-
}
38-
39-
public Role(Integer role, User user) {
40-
super();
41-
this.role = role;
42-
this.user = user;
43-
}
44-
45-
public Long getId() {
46-
return id;
47-
}
48-
49-
public void setId(Long id) {
50-
this.id = id;
51-
}
52-
53-
public User getUser() {
54-
return user;
55-
}
56-
57-
public void setUser(User user) {
58-
this.user = user;
59-
}
60-
61-
public Integer getRole() {
62-
return role;
63-
}
64-
65-
public void setRole(Integer role) {
66-
this.role = role;
67-
}
19+
@Id
20+
@GeneratedValue(strategy = GenerationType.AUTO)
21+
private Long id;
22+
23+
24+
@OneToOne(targetEntity = User.class, fetch = FetchType.EAGER, cascade = CascadeType.ALL)
25+
@JoinColumn(name = "user_id")
26+
private User user;
27+
28+
@Column(name="role")
29+
private Integer role;
30+
31+
public Role(){
32+
super();
33+
34+
}
35+
public Role(Integer role){
36+
super();
37+
this.role = role;
38+
}
39+
public Role(Integer role, User user){
40+
super();
41+
this.role = role;
42+
this.user = user;
43+
}
44+
public Long getId() {
45+
return id;
46+
}
47+
public void setId(Long id) {
48+
this.id = id;
49+
}
50+
public User getUser() {
51+
return user;
52+
}
53+
public void setUser(User user) {
54+
this.user = user;
55+
}
56+
public Integer getRole() {
57+
return role;
58+
}
59+
public void setRole(Integer role) {
60+
this.role = role;
61+
}
6862
}

spring-security-login-error-handling/src/main/java/org/baeldung/persistence/model/User.java

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,17 @@ public class User {
1717
@Id
1818
@GeneratedValue(strategy = GenerationType.AUTO)
1919
private Long id;
20-
@Column(name = "firstName")
20+
@Column(name="firstName")
2121
private String firstName;
22-
@Column(name = "lastName")
22+
@Column(name="lastName")
2323
private String lastName;
24-
@Column(name = "username")
24+
@Column(name="username")
2525
private String username;
26-
@Column(name = "password")
26+
@Column(name="password")
2727
private String password;
28-
29-
@OneToOne(mappedBy = "user", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
28+
29+
30+
@OneToOne(mappedBy = "user",fetch = FetchType.EAGER, cascade = CascadeType.ALL)
3031
private Role role;
3132

3233
public Long getId() {
@@ -76,7 +77,8 @@ public Role getRole() {
7677
public void setRole(Role role) {
7778
this.role = role;
7879
}
79-
80+
81+
8082
@Override
8183
public int hashCode() {
8284
final int prime = 31;
@@ -98,11 +100,11 @@ public boolean equals(final Object obj) {
98100
return false;
99101
return true;
100102
}
101-
102103
@Override
103104
public String toString() {
104105
final StringBuilder builder = new StringBuilder();
105-
builder.append("User [firstName=").append(firstName).append("]").append("[lastName=").append(lastName).append("]").append("[username").append(username).append("]");
106+
builder.append("User [firstName=").append(firstName).append("]").
107+
append("[lastName=").append(lastName).append("]").append("[username").append(username).append("]");
106108
return builder.toString();
107109
}
108110
}

spring-security-login-error-handling/src/main/java/org/baeldung/persistence/service/EmailExistsException.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
package org.baeldung.persistence.service;
22

3-
public class EmailExistsException extends Throwable {
4-
3+
@SuppressWarnings("serial")
4+
public class EmailExistsException extends Throwable{
5+
56
public EmailExistsException(String message) {
67
super(message);
78
}

spring-security-login-error-handling/src/main/java/org/baeldung/persistence/service/RegistrationFormWithValidation.java

Lines changed: 0 additions & 73 deletions
This file was deleted.

spring-security-login-error-handling/src/main/java/org/baeldung/persistence/service/RepositoryService.java

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,42 @@
11
package org.baeldung.persistence.service;
22

33
import javax.transaction.Transactional;
4-
54
import org.baeldung.persistence.dao.UserRepository;
65
import org.baeldung.persistence.model.Role;
76
import org.baeldung.persistence.model.User;
87
import org.springframework.beans.factory.annotation.Autowired;
98
import org.springframework.core.env.Environment;
10-
import org.springframework.security.crypto.password.PasswordEncoder;
119
import org.springframework.stereotype.Service;
1210

1311
@Service
1412
public class RepositoryService implements UserService {
15-
@Autowired
13+
@Autowired
1614
private UserRepository repository;
17-
18-
private final PasswordEncoder passwordEncoder;
19-
15+
2016
@Autowired
2117
private Environment env;
22-
18+
2319
@Autowired
24-
public RepositoryService(PasswordEncoder passwordEncoder, UserRepository repository) {
25-
this.passwordEncoder = passwordEncoder;
20+
public RepositoryService( UserRepository repository) {
2621
this.repository = repository;
27-
}
28-
22+
}
23+
2924
@Transactional
3025
@Override
3126
public User registerNewUserAccount(UserDto userAccountData) throws EmailExistsException {
3227
if (emailExist(userAccountData.getUsername())) {
33-
28+
3429
throw new EmailExistsException("There is an account with that email adress: " + userAccountData.getUsername());
35-
}
36-
37-
User user = new User();
30+
}
31+
User user = new User();
3832
user.setFirstName(userAccountData.getFirstName());
3933
user.setLastName(userAccountData.getLastName());
4034
user.setPassword(userAccountData.getPassword());
4135
user.setUsername(userAccountData.getUsername());
4236
user.setRole(new Role(userAccountData.getRole(), user));
43-
return repository.save(user);
37+
return repository.save(user);
4438
}
45-
39+
4640
private boolean emailExist(String email) {
4741
User user = repository.findByUsername(email);
4842
if (user != null) {

0 commit comments

Comments
 (0)