inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Hướng dẫn JWT khởi động mùa xuân

Cài đặt bảo mật, cài đặt dữ liệu

sql 에러

Đã giải quyết

1164

dbekdms1473339

49 câu hỏi đã được viết

0

@Entity
@Table(name = "users")
@Getter
@Setter
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class User {


    @JsonIgnore
    @Id
    @Column(name = "userId")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long userId;

    @Column(name="userName", length = 50, unique = true)
    private String userName;

    @JsonIgnore
    @Column(name = "userPw", length = 100)
    private String password;

    @Column(name = "nickName", length = 50)
    private  String nickName;

    @JsonIgnore
    @Column(name = "activated")
    private boolean activated;


    // @ManyToMany와 @JoinTable은 User객체와 권한객체의 다대다 관계를
    // 일대다, 다대일 관계의 조인 테이블로 정했다는 뜻입니다.
    @ManyToMany
    @JoinTable(
            name = "user_authority",
            joinColumns = {@JoinColumn(name = "userId", referencedColumnName = "userId")},
            inverseJoinColumns = {@JoinColumn(name = "authority_name", referencedColumnName = "authority_name")})
    private Set<Authority> authorities;
package com.example.jwt_security.entity;

import lombok.*;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "authority")
@Getter
@Setter
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Authority {

    @Id
    @Column(name="authority_name", length = 50)
    private String authorityName;
}

Hibernate:

drop table if exists authority CASCADE

Hibernate:

drop table if exists user_authority CASCADE

Hibernate:

drop table if exists users CASCADE

Hibernate:

create table authority (

authority_name varchar(50) not null,

primary key (authority_name)

)

Hibernate:

create table user_authority (

user_id bigint not null,

authority_name varchar(50) not null,

primary key (user_id, authority_name)

)

Hibernate:

create table users (

user_id bigint generated by default as identity,

activated boolean,

nick_name varchar(50),

user_pw varchar(100),

user_name varchar(50),

primary key (user_id)

)

Hibernate:

alter table users

add constraint UK_k8d0f2n7n88w1a16yhua64onx unique (user_name)

Hibernate:

alter table user_authority

add constraint FK6ktglpl5mjosa283rvken2py5

foreign key (authority_name)

references authority

Hibernate:

alter table user_authority

add constraint FKhi46vu7680y1hwvmnnuh4cybx

foreign key (user_id)

references users

 

insert into users (userName, userPw, nickName, activated) values ('admin', '$2a$08$lDnHPz7eUkSi6ao14Twuau08mzhWrL4kyZGGU5xfiGALO/Vxd5DOi', 'admin', 1);
insert into users (userName, userPw, nickName, activated) values ('user', '$2a$08$UkVvwpULis18S19S5pZFn.YHPZt3oaqHZnDwqbCW9pft6uFtkXKDC', 'user', 1);

insert into authority (authority_name) values ('ROLE_USER');
insert into authority (authority_name) values ('ROLE_ADMIN');

insert into user_authority (user_id, authority_name) values (1, 'ROLE_USER');
insert into user_authority (user_id, authority_name) values (1, 'ROLE_ADMIN');
insert into user_authority (user_id, authority_name) values (2, 'ROLE_USER');

여기서 into 뒤에가 에러가 생기네요 테이블까지는 제대로 생성됐는데 왜그러는지 모르겠어요

spring-boot jwt

Câu trả lời 2

0

silvernine

안녕하세요 🙂

Spring Boot 3.4.0 (SNAPSHOT) 버전에 맞춰 샘플 코드를 업데이트했습니다.

아래 링크에서 Java와 Kotlin 버전의 최신 샘플 코드를 확인하실 수 있으니 참고 부탁드립니다.

Javahttps://github.com/SilverNine/spring-boot-jwt-tutorial

Kotlinhttps://github.com/SilverNine/spring-boot-jwt-tutorial-kotlin

0

Sang-Uk Lee

Please attach the error log.

0

dbekdms1473339

 

:: Spring Boot :: (v2.7.8)

2023-02-06 22:09:19.774 INFO 21336 --- [ main] c.e.jwt_security.JwtSecurityApplication : Starting JwtSecurityApplication using Java 11.0.17 on DESKTOP-T2712FI with PID 21336 (C:\study_\Spring\springBoot\JWT_security\out\production\classes started by user in C:\study_\Spring\springBoot\JWT_security)

2023-02-06 22:09:19.775 INFO 21336 --- [ main] c.e.jwt_security.JwtSecurityApplication : No active profile set, falling back to 1 default profile: "default"

2023-02-06 22:09:20.097 INFO 21336 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.

2023-02-06 22:09:20.104 INFO 21336 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 3 ms. Found 0 JPA repository interfaces.

2023-02-06 22:09:20.359 INFO 21336 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)

2023-02-06 22:09:20.365 INFO 21336 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]

2023-02-06 22:09:20.365 INFO 21336 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.71]

2023-02-06 22:09:20.420 INFO 21336 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext

2023-02-06 22:09:20.420 INFO 21336 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 623 ms

2023-02-06 22:09:20.435 INFO 21336 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...

2023-02-06 22:09:20.466 INFO 21336 --- [ main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.

2023-02-06 22:09:20.472 INFO 21336 --- [ main] o.s.b.a.h2.H2ConsoleAutoConfiguration : H2 console available at '/h2-console'. Database available at 'jdbc:h2:tcp://localhost/~/test'

2023-02-06 22:09:20.532 INFO 21336 --- [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [name: default]

2023-02-06 22:09:20.553 INFO 21336 --- [ main] org.hibernate.Version : HHH000412: Hibernate ORM core version 5.6.14.Final

2023-02-06 22:09:20.621 INFO 21336 --- [ main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {5.1.2.Final}

2023-02-06 22:09:20.669 INFO 21336 --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect

Hibernate:

 

drop table if exists authority CASCADE

Hibernate:

 

drop table if exists user_authority CASCADE

Hibernate:

 

drop table if exists users CASCADE

Hibernate:

 

create table authority (

authority_name varchar(50) not null,

primary key (authority_name)

)

Hibernate:

 

create table user_authority (

user_id bigint not null,

authority_name varchar(50) not null,

primary key (user_id, authority_name)

)

Hibernate:

 

create table users (

user_id bigint generated by default as identity,

activated boolean,

nick_name varchar(50),

user_pw varchar(100),

user_name varchar(50),

primary key (user_id)

)

Hibernate:

 

alter table users

add constraint UK_k8d0f2n7n88w1a16yhua64onx unique (user_name)

Hibernate:

 

alter table user_authority

add constraint FK6ktglpl5mjosa283rvken2py5

foreign key (authority_name)

references authority

Hibernate:

 

alter table user_authority

add constraint FKhi46vu7680y1hwvmnnuh4cybx

foreign key (user_id)

references users

2023-02-06 22:09:20.951 INFO 21336 --- [ main] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]

2023-02-06 22:09:20.956 INFO 21336 --- [ main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'

2023-02-06 22:09:21.030 INFO 21336 --- [ main] o.s.s.web.DefaultSecurityFilterChain : Will secure any request with [org.springframework.security.web.session.DisableEncodeUrlFilter@4cf01c41, org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter@57bac3f0, org.springframework.security.web.context.SecurityContextPersistenceFilter@e1a150c, org.springframework.security.web.header.HeaderWriterFilter@70840a5a, org.springframework.security.web.csrf.CsrfFilter@4805069b, org.springframework.security.web.authentication.logout.LogoutFilter@6edd4fe2, org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter@4e9ea32f, org.springframework.security.web.savedrequest.RequestCacheAwareFilter@407b41e6, org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter@3291d9c2, org.springframework.security.web.authentication.AnonymousAuthenticationFilter@55f6f965, org.springframework.security.web.session.SessionManagementFilter@7a34c1f6, org.springframework.security.web.access.ExceptionTranslationFilter@4f6ff62, org.springframework.security.web.access.intercept.FilterSecurityInterceptor@3909a854]

2023-02-06 22:09:21.033 WARN 21336 --- [ main] o.s.s.c.a.web.builders.WebSecurity : You are asking Spring Security to ignore Ant [pattern='/h2-console/**']. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead.

2023-02-06 22:09:21.033 INFO 21336 --- [ main] o.s.s.web.DefaultSecurityFilterChain : Will not secure Ant [pattern='/h2-console/**']

2023-02-06 22:09:21.033 WARN 21336 --- [ main] o.s.s.c.a.web.builders.WebSecurity : You are asking Spring Security to ignore Ant [pattern='/favicon.ico']. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead.

2023-02-06 22:09:21.033 INFO 21336 --- [ main] o.s.s.web.DefaultSecurityFilterChain : Will not secure Ant [pattern='/favicon.ico']

2023-02-06 22:09:21.058 WARN 21336 --- [ main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning

2023-02-06 22:09:21.228 INFO 21336 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''

2023-02-06 22:09:21.235 INFO 21336 --- [ main] c.e.jwt_security.JwtSecurityApplication : Started JwtSecurityApplication in 1.681 seconds (JVM running for 2.035)

A file path that is implicitly relative to the current working directory is not allowed in the database URL "jdbc:h2:tcp://localhost:9092/default". Use an absolute path, ~/name, ./name, or the baseDir setting instead. [90011-210]

spring boot 3.x 버전 강의도 만들어주시면 안될까요?

0

70

1

3강 secret key 관련해서 질문있습니다

0

69

1

JwtFilter 에 TokenProvider 선언 시 final 키워드 빠진 이유

0

78

1

/api/authenticate 포스트맨 401 에러

0

225

1

Spring boot 3.x버전에서 data.sql 오류 발생할 경우

4

401

1

/api/hello 접근 시 401 나올 때 해결법

2

307

2

소스코드 전체 볼수 있을까요?

0

399

2

머이렇게 안되는게많노 ㅠ

1

761

2

스프링부트 3.x 버전 data.sql 삽입 오류 발생할 경우 해결 방법

6

1354

2

postman 결과가 다릅니다

0

363

2

body값이 비었습니다.

0

401

2

jjwt 버전을 올렸더니 jwt가 유효하지 않다고 합니다

0

3599

1

Refresh Token

0

507

1

유저 권한 설정

0

370

2

setAuthentication

0

499

1

postman에서 오류가 납니다..

0

1774

3

Spring boot 3.1.5 기준 학습 정리 파일 공유

1

1091

4

/api/hello에 접근이 안됩니다 ㅠㅠ

0

1084

2

mysql 설정로 실습시

0

879

2

유효한 JWT 토큰이 없습니다

0

669

2

8:45 spring security 3.1.5 설정 방법 (버전 안 맞춰서 안될때)

1

2284

2

2:00 에서 저처럼 버전 안 맞춰서 해서 헤매는 분들 이걸로 해보세요.

0

1279

3

JWT String argument cannot be null or empty.

0

2171

2

new User 생성자 오류 발생하는 분들...

6

504

2