Skip to content

Commit 874c02a

Browse files
committed
Fixed the token bug.
- Deletes a previously used token. (& not to be reused again for autologin) - Switched to JpaRespository, which extends PagingAndSortingRepository & CrudRepository.
1 parent 36951ed commit 874c02a

14 files changed

+22
-18
lines changed

.idea/misc.xml

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/java/io/home/pi/persistence/model/User.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public class User {
3434
@Column(name = "enabled")
3535
private Boolean enabled;
3636

37-
@OneToOne(fetch = FetchType.LAZY, mappedBy = "user", cascade = CascadeType.ALL)
37+
@OneToOne(fetch = FetchType.LAZY, mappedBy = "user", cascade = CascadeType.ALL, orphanRemoval = true)
3838
@JoinColumn(name = "TOKENLOG_ID")
3939
private TokenLog token;
4040

Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.home.pi.persistence.repo;
22

33
import io.home.pi.persistence.model.Auth;
4-
import org.springframework.data.repository.CrudRepository;
4+
import org.springframework.data.jpa.repository.JpaRepository;
55

66
/**
77
* PROJECT : pi
@@ -10,6 +10,6 @@
1010
* DATE : 19-June-2018
1111
* TIME : 23:38
1212
*/
13-
public interface AuthorityRepo extends CrudRepository<Auth, Integer> {
13+
public interface AuthorityRepo extends JpaRepository<Auth, Integer> {
1414

1515
}
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.home.pi.persistence.repo;
22

33
import io.home.pi.persistence.model.GrpAuth;
4-
import org.springframework.data.repository.CrudRepository;
4+
import org.springframework.data.jpa.repository.JpaRepository;
55

66
/**
77
* PROJECT : pi
@@ -10,6 +10,6 @@
1010
* DATE : 19-June-2018
1111
* TIME : 23:24
1212
*/
13-
public interface GroupAuthorityRepo extends CrudRepository<GrpAuth, Integer> {
13+
public interface GroupAuthorityRepo extends JpaRepository<GrpAuth, Integer> {
1414

1515
}

src/main/java/io/home/pi/persistence/repo/GroupRepo.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.home.pi.persistence.repo;
22

33
import io.home.pi.persistence.model.Team;
4-
import org.springframework.data.repository.CrudRepository;
4+
import org.springframework.data.jpa.repository.JpaRepository;
55
import org.springframework.stereotype.Repository;
66

77
/**
@@ -12,6 +12,6 @@
1212
* TIME : 20:16
1313
*/
1414
@Repository
15-
public interface GroupRepo extends CrudRepository<Team, Integer> {
15+
public interface GroupRepo extends JpaRepository<Team, Integer> {
1616

1717
}

src/main/java/io/home/pi/persistence/repo/TeamRepo.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package io.home.pi.persistence.repo;
22

33
import io.home.pi.persistence.model.Team;
4-
import org.springframework.data.repository.CrudRepository;
4+
import org.springframework.data.jpa.repository.JpaRepository;
55
import org.springframework.stereotype.Repository;
66

77
/**
@@ -12,5 +12,5 @@
1212
* TIME : 04:00
1313
*/
1414
@Repository
15-
public interface TeamRepo extends CrudRepository<Team, Integer> {
15+
public interface TeamRepo extends JpaRepository<Team, Integer> {
1616
}

src/main/java/io/home/pi/persistence/repo/TokenLogRepo.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package io.home.pi.persistence.repo;
22

33
import io.home.pi.persistence.model.TokenLog;
4+
import org.springframework.data.jpa.repository.JpaRepository;
45
import org.springframework.data.jpa.repository.Modifying;
56
import org.springframework.data.jpa.repository.Query;
6-
import org.springframework.data.repository.CrudRepository;
77
import org.springframework.stereotype.Repository;
88

99
import java.sql.Timestamp;
@@ -18,7 +18,7 @@
1818
* TIME : 01:19
1919
*/
2020
@Repository
21-
public interface TokenLogRepo extends CrudRepository<TokenLog, Integer> {
21+
public interface TokenLogRepo extends JpaRepository<TokenLog, Integer> {
2222
TokenLog findByUsername(String username);
2323

2424
TokenLog findBySeries(String series);

src/main/java/io/home/pi/persistence/repo/UserRepo.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import io.home.pi.persistence.model.TokenLog;
44
import io.home.pi.persistence.model.User;
5-
import org.springframework.data.repository.CrudRepository;
5+
import org.springframework.data.jpa.repository.JpaRepository;
66
import org.springframework.stereotype.Repository;
77

88
import java.util.Optional;
@@ -15,8 +15,10 @@
1515
* TIME : 20:16
1616
*/
1717
@Repository
18-
public interface UserRepo extends CrudRepository<User, Integer> {
18+
public interface UserRepo extends JpaRepository<User, Integer> {
1919
User findByUsername(String username);
2020

2121
Optional<User> findByToken(TokenLog tokenLog);
22+
23+
2224
}

src/main/java/io/home/pi/persistence/service/CRUDService.java src/main/java/io/home/pi/persistence/service/JPAService.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import java.util.Optional;
66

77
@Service
8-
public interface CRUDService<T> {
8+
public interface JPAService<T> {
99
Iterable<T> findAll();
1010

1111
Optional<T> findById(Integer id);

src/main/java/io/home/pi/persistence/service/TeamService.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@
99
* DATE : 15-July-2018
1010
* TIME : 04:02
1111
*/
12-
public interface TeamService extends CRUDService<Team> {
12+
public interface TeamService extends JPAService<Team> {
1313
}

src/main/java/io/home/pi/persistence/service/TokenLogService.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
* DATE : 29-June-2018
1212
* TIME : 01:21
1313
*/
14-
public interface TokenLogService extends CRUDService<TokenLog> {
14+
public interface TokenLogService extends JPAService<TokenLog> {
1515
Optional<TokenLog> findByUsername(String username);
1616

1717
Optional<TokenLog> findBySeries(String series);

src/main/java/io/home/pi/persistence/service/UserService.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
* TIME : 20:46
1414
*/
1515

16-
public interface UserService extends CRUDService<User> {
16+
public interface UserService extends JPAService<User> {
1717
User findByUsername(String username);
1818

1919
Optional<User> findByToken(TokenLog token);

src/main/java/io/home/pi/service/impl/UserDetailServiceImpl.java

+1
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ public void authWithoutPassword(String username, HttpSession session) {
9393

9494
Authentication authenticationToken = new UsernamePasswordAuthenticationToken(userDetails.getUsername(), userDetails, userDetails.getAuthorities());
9595

96+
9697
//ToDo: Test when the user is already registered.
9798
((UsernamePasswordAuthenticationToken) authenticationToken).eraseCredentials();
9899

src/main/java/io/home/pi/web/controller/ConfirmationCtrl.java

+1
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ public String confirmRegistration(HttpServletRequest request, final Model model,
6868
if (optionalToken.isPresent()) {
6969
User disabledUser = optionalToken.get().getUser();
7070
disabledUser.setEnabled(TRUE);
71+
disabledUser.setToken(null); //Delete the token & prevent it from being reused.
7172

7273
final User enabledUser = userService.saveOrUpdate(disabledUser);
7374
userAuthService.authWithoutPassword(enabledUser.getUsername(), request.getSession(TRUE));

0 commit comments

Comments
 (0)