Skip to content

Commit 7b40f74

Browse files
author
eugenp
committed
work on registration
1 parent 55f1a9b commit 7b40f74

File tree

3 files changed

+52
-50
lines changed

3 files changed

+52
-50
lines changed

spring-security-login-and-registration/src/main/java/org/baeldung/persistence/dao/PrivilegeRepository.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@
44
import org.springframework.data.jpa.repository.JpaRepository;
55

66
public interface PrivilegeRepository extends JpaRepository<Privilege, Long> {
7-
public Privilege findByName(String name);
7+
Privilege findByName(String name);
88
}

spring-security-login-and-registration/src/main/java/org/baeldung/security/MyUserDetailsService.java

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@
44
import java.util.Collection;
55
import java.util.List;
66

7-
import org.springframework.security.core.userdetails.UserDetails;
8-
import org.springframework.security.core.userdetails.UserDetailsService;
9-
import org.springframework.security.core.userdetails.UsernameNotFoundException;
107
import org.baeldung.persistence.dao.RoleRepository;
118
import org.baeldung.persistence.dao.UserRepository;
129
import org.baeldung.persistence.model.Privilege;
@@ -17,6 +14,9 @@
1714
import org.springframework.context.MessageSource;
1815
import org.springframework.security.core.GrantedAuthority;
1916
import org.springframework.security.core.authority.SimpleGrantedAuthority;
17+
import org.springframework.security.core.userdetails.UserDetails;
18+
import org.springframework.security.core.userdetails.UserDetailsService;
19+
import org.springframework.security.core.userdetails.UsernameNotFoundException;
2020
import org.springframework.stereotype.Service;
2121
import org.springframework.transaction.annotation.Transactional;
2222

@@ -32,45 +32,45 @@ public class MyUserDetailsService implements UserDetailsService {
3232
private MessageSource messages;
3333
@Autowired
3434
private RoleRepository roleRepository;
35-
36-
public MyUserDetailsService() {
3735

36+
public MyUserDetailsService() {
37+
super();
3838
}
3939

40-
public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException {
41-
boolean enabled = true;
42-
boolean accountNonExpired = true;
43-
boolean credentialsNonExpired = true;
44-
boolean accountNonLocked = true;
40+
// API
41+
42+
@Override
43+
public UserDetails loadUserByUsername(final String email) throws UsernameNotFoundException {
4544
try {
46-
User user = userRepository.findByEmail(email);
45+
final User user = userRepository.findByEmail(email);
4746
if (user == null) {
48-
return new org.springframework.security.core.userdetails.User(" ", " ", enabled, true, true, true, getAuthorities(roleRepository.findByName("ROLE_USER")));
47+
return new org.springframework.security.core.userdetails.User(" ", " ", true, true, true, true, getAuthorities(roleRepository.findByName("ROLE_USER")));
4948
}
5049

51-
return new org.springframework.security.core.userdetails.User(user.getEmail(), user.getPassword(), user.isEnabled(), accountNonExpired, credentialsNonExpired, accountNonLocked, getAuthorities(user.getRole()));
52-
} catch (Exception e) {
50+
return new org.springframework.security.core.userdetails.User(user.getEmail(), user.getPassword(), user.isEnabled(), true, true, true, getAuthorities(user.getRole()));
51+
} catch (final Exception e) {
5352
throw new RuntimeException(e);
5453
}
5554
}
5655

57-
private Collection<? extends GrantedAuthority> getAuthorities(Role roleName) {
58-
List<GrantedAuthority> authList = getGrantedAuthorities(getPrivileges(roleName));
59-
return authList;
56+
// UTIL
57+
58+
private final Collection<? extends GrantedAuthority> getAuthorities(final Role roleName) {
59+
return getGrantedAuthorities(getPrivileges(roleName));
6060
}
6161

62-
public List<String> getPrivileges(Role role) {
63-
List<String> privileges = new ArrayList<String>();
64-
Collection<Privilege> collection = role.getPrivileges();
65-
for (Privilege item : collection) {
62+
private final List<String> getPrivileges(final Role role) {
63+
final List<String> privileges = new ArrayList<String>();
64+
final Collection<Privilege> collection = role.getPrivileges();
65+
for (final Privilege item : collection) {
6666
privileges.add(item.getName());
6767
}
6868
return privileges;
6969
}
7070

71-
private static List<GrantedAuthority> getGrantedAuthorities(List<String> privileges) {
72-
List<GrantedAuthority> authorities = new ArrayList<GrantedAuthority>();
73-
for (String privilege : privileges) {
71+
private final List<GrantedAuthority> getGrantedAuthorities(final List<String> privileges) {
72+
final List<GrantedAuthority> authorities = new ArrayList<GrantedAuthority>();
73+
for (final String privilege : privileges) {
7474
authorities.add(new SimpleGrantedAuthority(privilege));
7575
}
7676
return authorities;

spring-security-login-and-registration/src/main/java/org/baeldung/spring/InitialDataLoader.java

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -13,46 +13,48 @@
1313
import org.springframework.transaction.annotation.Transactional;
1414

1515
@Component
16-
public class InitialDataLoader implements ApplicationListener<ContextRefreshedEvent>{
17-
16+
public class InitialDataLoader implements ApplicationListener<ContextRefreshedEvent> {
17+
1818
boolean alreadyExist = false;
19-
19+
2020
@Autowired
2121
private RoleRepository roleRepository;
22-
22+
2323
@Autowired
2424
private PrivilegeRepository privilegeRepository;
2525

2626
@Override
2727
@Transactional
28-
public void onApplicationEvent(ContextRefreshedEvent event) {
29-
if(alreadyExist)
28+
public void onApplicationEvent(final ContextRefreshedEvent event) {
29+
if (alreadyExist)
3030
return;
31-
if(roleRepository.findAll().size() > 0 || privilegeRepository.findAll().size() > 0)
31+
if (roleRepository.count() > 0 || privilegeRepository.count() > 0)
3232
return;
33-
34-
//== create initial roles
35-
Role admin = new Role("ROLE_ADMIN");
36-
Role user = new Role("ROLE_USER");
37-
38-
//== create initial privileges
39-
Privilege readPrivilege = new Privilege("READ_PRIVILEGE");
40-
Privilege writePrivilege = new Privilege("WRITE_PRIVILEGE");
41-
42-
//== link roles and privileges
43-
Privilege[] adminPrivileges = {readPrivilege, writePrivilege};
44-
admin.setPrivileges(Arrays.asList(adminPrivileges));
45-
46-
Privilege[] userPrivileges = {readPrivilege};
47-
user.setPrivileges(Arrays.asList(userPrivileges));
48-
49-
//== save to database
33+
34+
// == create initial privileges
35+
final Privilege readPrivilege = new Privilege("READ_PRIVILEGE");
36+
final Privilege writePrivilege = new Privilege("WRITE_PRIVILEGE");
5037
privilegeRepository.save(readPrivilege);
5138
privilegeRepository.save(writePrivilege);
39+
40+
// == create initial roles
41+
final Role admin = new Role("ROLE_ADMIN");
42+
final Role user = new Role("ROLE_USER");
43+
44+
// == link roles and privileges
45+
admin.setPrivileges(Arrays.asList(readPrivilege, writePrivilege));
46+
user.setPrivileges(Arrays.asList(readPrivilege));
47+
5248
roleRepository.save(admin);
5349
roleRepository.save(user);
54-
50+
5551
alreadyExist = true;
5652
}
5753

54+
private final void createPrivilegeIfNotFound(final Privilege privilege) {
55+
if (privilegeRepository.findByName(privilege.getName()) != null) {
56+
privilegeRepository.save(privilege);
57+
}
58+
}
59+
5860
}

0 commit comments

Comments
 (0)