2 Commits

Author SHA1 Message Date
kimyonghwa
73703c10a5 bugfix
- update security settings
2019-11-14 11:35:35 +09:00
kimyonghwa
e736b92975 multi left outer join 2019-07-18 18:18:58 +09:00
6 changed files with 92 additions and 8 deletions

View File

@@ -32,7 +32,7 @@ public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
.and()
.authorizeRequests() // 다음 리퀘스트에 대한 사용권한 체크
.antMatchers("/*/signin", "/*/signin/**", "/*/signup", "/*/signup/**", "/social/**").permitAll() // 가입 및 인증 주소는 누구나 접근가능
.antMatchers(HttpMethod.GET, "/exception/**", "/helloworld/**","/actuator/health", "/v1/board/**").permitAll() // hellowworld로 시작하는 GET요청 리소스는 누구나 접근가능
.antMatchers(HttpMethod.GET, "/exception/**", "/helloworld/**","/actuator/health", "/v1/board/**", "/favicon.ico").permitAll() // 등록한 GET요청 리소스는 누구나 접근가능
.anyRequest().hasRole("USER") // 그외 나머지 요청은 모두 인증된 회원만 접근 가능
.and()
.exceptionHandling().accessDeniedHandler(new CustomAccessDeniedHandler())

View File

@@ -1,18 +1,27 @@
package com.rest.api.controller;
import com.rest.api.entity.Employ;
import com.rest.api.entity.Member;
import com.rest.api.repo.EmployJpaRepo;
import com.rest.api.repo.MemberJpaRepo;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@RequiredArgsConstructor
@Slf4j
@Controller
public class HelloController {
private static final String HELLO = "helloworld-nice to meet you";
private final EmployJpaRepo employJpaRepo;
private final MemberJpaRepo memberJpaRepo;
@Setter
@Getter
public static class Hello {
@@ -21,23 +30,27 @@ public class HelloController {
@GetMapping(value = "/helloworld/string")
@ResponseBody
public String helloworldString() {
public Employ helloworldString() {
Employ employ = Employ.builder().employee(memberJpaRepo.findById(1L).get()).build();
employ = employJpaRepo.save(employ);
log.debug("Helloworld");
log.info("Helloworld");
return HELLO;
return employ;
}
@GetMapping(value = "/helloworld/json")
@ResponseBody
public Hello helloworldJson() {
Hello hello = new Hello();
hello.message = HELLO;
return hello;
public Employ helloworldJson() {
return employJpaRepo.findById(2L).get();
}
@GetMapping(value = "/helloworld/page")
public String helloworld() {
return HELLO;
memberJpaRepo.save(Member.builder().email("happydaddy@naver.com").name("happydaddy").build());
memberJpaRepo.save(Member.builder().email("angrydaddy@naver.com").name("angrydaddy").build());
return "true";
// return HELLO;
}
@GetMapping("/helloworld/long-process")

View File

@@ -0,0 +1,29 @@
package com.rest.api.entity;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import javax.persistence.*;
@NoArgsConstructor
@Entity
@Getter
public class Employ {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long employId;
@OneToOne
@JoinColumn(name = "employer_id")
private Member employer;
@OneToOne
@JoinColumn(name = "employee_id")
private Member employee;
@Builder
public Employ(Member employer, Member employee) {
this.employer = employer;
this.employee = employee;
}
}

View File

@@ -0,0 +1,28 @@
package com.rest.api.entity;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.util.Date;
@NoArgsConstructor
@Entity
@Getter
public class Member {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long uid;
@Column(name = "email", unique = true)
private String email;
private String name;
private Date createDate;
@Builder
public Member(String email, String name) {
this.email = email;
this.name = name;
this.createDate = new Date();
}
}

View File

@@ -0,0 +1,7 @@
package com.rest.api.repo;
import com.rest.api.entity.Employ;
import org.springframework.data.jpa.repository.JpaRepository;
public interface EmployJpaRepo extends JpaRepository<Employ, Long> {
}

View File

@@ -0,0 +1,7 @@
package com.rest.api.repo;
import com.rest.api.entity.Member;
import org.springframework.data.jpa.repository.JpaRepository;
public interface MemberJpaRepo extends JpaRepository<Member, Long> {
}