본문 바로가기

전체 글64

GraphQL 연관관계 객체 쿼리 시 발생하는 Lazy Loading 문제 파이썬 FastAPI와 SQLAlchemy를 이용하여다음과 같이, 직원들의 직무(Job) 정보를 변경하고, 그 변경된 정보를 가져오는 쿼리를 작성하였다. class UpdateJob(Mutation): class Arguments: job_id = Int(required=True) title = String() description = String() employer_id = Int() job = Field(lambda: JobObject) @staticmethod def mutate(root, info, job_id, title=None, description=None, employer_id=None): session .. 2024. 11. 1.
왜 Spring Security 의존성을 추가 하기만 해도 모든 엔드포인트에 인증과정이 요구되는가 Spring Security 의존성을 추가하기만 했는데기존에 인증 없이도 동작하던 endpoint에 요청을 하기만 해도Default Login Page로 리다이렉션이 된다.  Spring Security라는 Dependency를 build.gradle 혹은 pom.xml에 추가하기만 해도Spring boot의 자동 구성 기능(Auto-configuration) 기능에 의하여Defualt Security Filter Chain이 자동으로 등록이 되는데, 이 Filter Chain이 등록되며 웹의 동작에 영향을 미치기 때문이다. 프로젝트에서 Shift를 두 번 누르고SpringBootWebSecurityConfiguration을 입력해 검색하자.그러면 다음 코드를 보게 될 것이다. @Configuration.. 2024. 10. 22.
Spring Security와 h2를 사용 시 왜 X-Frame-Options헤더를 지정해야 하는가 스프링부트 프로젝트 개발을 하며Spring Security와 더불어, 개발과정에서 h2 데이터베이스에서 제공하는 In-Memory 기능을 이용하기로 하였다. h2 데이터베이스와 스프링 시큐리티를 같이 이용하려면특별히 몇 개의 설정을 더 해주어야 한다. 바로 다음과 Security Filter Chain을 등록해서CSRF 보호 비활성화, X-Frame-Options 헤더를 SAMEORIGIN으로 설정하는 것이다.   @Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { http ... .csrf(Abstr.. 2024. 7. 30.
[디버깅] Spring Security 사용 중 템플릿에 CSS가 적용되지 않는 현상 저는 Spring Security를 이용하여 사용자 정의 로그인 창을 구현하고 있었습니다. 먼저 로그인 창은 다음과 같습니다.  소스코드 : resources/templates/form/login.html 파일 로그인 Login  주의 깊게 보아야 할 부분은 다음 부분입니다. 이와 같이, 특정 템플릿에 적용할 css 파일을 명시하기 위해서는 다음과 같은 규칙을 알아야 합니다. - 명시한 css 파일 경로 : /css/login.css- 매핑되는 css 파일 : resources/static/css/login.css 이렇게 명시를 해 주었는데, css파일의 스타일이 적용되지 않는 문제점이 있었습니다.  문제 원인과 해결Spring secur.. 2024. 7. 18.