Fixed JWT Role assignment and method access
This commit is contained in:
@@ -24,7 +24,7 @@ public class SecurityConfiguration {
|
||||
.csrf(csrf -> csrf.disable())
|
||||
.authorizeHttpRequests(auth -> auth
|
||||
.requestMatchers("/api/v1/auth/**").permitAll()
|
||||
.requestMatchers("/encomes").hasRole("ADMIN")
|
||||
.requestMatchers("/expenses").hasRole("ADMIN")
|
||||
.anyRequest().authenticated()
|
||||
)
|
||||
.sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
this.email = email;
|
||||
this.password = password;
|
||||
|
||||
this.role = Role.USER;
|
||||
this.role = Role.ROLE_USER;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2,5 +2,5 @@
|
||||
package com.faf223.expensetrackerfaf.model;
|
||||
|
||||
public enum Role {
|
||||
USER, ADMIN
|
||||
ROLE_USER, ROLE_ADMIN
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
||||
import org.springframework.security.core.userdetails.UserDetails;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Collections;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@@ -22,7 +22,7 @@ public class PersonDetails implements UserDetails {
|
||||
|
||||
@Override
|
||||
public Collection<? extends GrantedAuthority> getAuthorities() {
|
||||
return List.of(new SimpleGrantedAuthority(credential.getRole().name()));
|
||||
return Collections.singletonList(new SimpleGrantedAuthority(credential.getRole().toString()));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -31,10 +31,9 @@ public class AuthenticationService {
|
||||
User user = User.builder()
|
||||
.firstName(request.getFirstname())
|
||||
.lastName(request.getLastname())
|
||||
.password(passwordEncoder.encode(request.getPassword()))
|
||||
.username(request.getUsername())
|
||||
.build();
|
||||
// System.out.println(user);
|
||||
|
||||
userRepository.save(user);
|
||||
Credential credential = new Credential(user, request.getEmail(), passwordEncoder.encode(request.getPassword()));
|
||||
credentialRepository.save(credential);
|
||||
|
||||
Reference in New Issue
Block a user