UsernamePasswordAuthenticationToken 방식 claims -> new User()
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.example.vue.config.security;
|
||||
|
||||
import com.example.vue.domain.user.User;
|
||||
import com.example.vue.util.JwtUtil;
|
||||
import io.jsonwebtoken.Claims;
|
||||
import org.springframework.security.authentication.AuthenticationManager;
|
||||
@@ -54,8 +55,8 @@ public class JwtAuthenticationFilter extends BasicAuthenticationFilter {
|
||||
String role = (String) claims.get("role");
|
||||
roles.add(new SimpleGrantedAuthority("ROLE_" + role));
|
||||
|
||||
return new UsernamePasswordAuthenticationToken(claims, null, roles);
|
||||
|
||||
// return new UsernamePasswordAuthenticationToken(claims, null, roles);
|
||||
return new UsernamePasswordAuthenticationToken(new User(claims), null, roles);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,16 +1,23 @@
|
||||
package com.example.vue.domain.user;
|
||||
|
||||
import io.jsonwebtoken.Claims;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.springframework.data.annotation.CreatedDate;
|
||||
import org.springframework.data.annotation.LastModifiedDate;
|
||||
import org.springframework.security.core.GrantedAuthority;
|
||||
import org.springframework.security.core.userdetails.UserDetails;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Collection;
|
||||
|
||||
@Entity
|
||||
@Getter
|
||||
@NamedQuery(name = "findByEmail", query = "select u from User u where u.email = :email")
|
||||
public class User {
|
||||
@NoArgsConstructor
|
||||
public class User {
|
||||
|
||||
@Id @GeneratedValue
|
||||
private Long id;
|
||||
@@ -24,10 +31,19 @@ public class User {
|
||||
@Column(name = "name")
|
||||
private String name;
|
||||
|
||||
@Transient
|
||||
private String role;
|
||||
|
||||
@CreatedDate
|
||||
private LocalDateTime createdAt;
|
||||
|
||||
@LastModifiedDate
|
||||
private LocalDateTime updatedAt;
|
||||
|
||||
public User(Claims claims) {
|
||||
this.id = Long.valueOf(claims.get("userId").toString());
|
||||
this.name = claims.get("name").toString();
|
||||
this.role = claims.get("role").toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.example.vue.domain.user;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
@@ -12,7 +12,6 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
public class UserController {
|
||||
|
||||
@GetMapping
|
||||
public void getAuthenticationUser(Authentication authentication) {
|
||||
System.out.println("Hello World");
|
||||
public void getAuthenticationUser(@AuthenticationPrincipal User user) {
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user