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