#security

질문 4
해시태그 없이 키워드만 일치하는 질문은 개수에 포함되지 않아요.

7달 전 · 박정환 님의 새로운 댓글

스프링부트 로컬 환경에서는 되지만, 배포 환경에서 404 에러가 발생합니다.

안녕하십니까 선배님들. 스프링부트 API 서버를 개발하고 배포하였는데 다음과 같은 문제가 발생하였습니다. 로컬 환경에서는 잘 작동하지만, 배포 환경에서 특정 POST 요청에서 404에러가 발생하는 문제였습니다. 해당 요청은 JSON을 반환하는 컨트롤러입니다. 서핑을 하던 중, Spring Security의 CSRF의 문제일 수도 있다고 하던데 저는 현재 Security를 사용하지도 않고 다른 POST 요청은 잘 응답하여 뭐가 원인인지 잘 모르겠습니다. 아래는 application.yaml과 Controller 코드입니다. 감사합니다. // application.yaml spring: application: name: tika servlet: multipart: max-file-size: 50MB max-request-size: 50MB

개발자

#스프링

#자바

답변 1

댓글 2

조회 81

8달 전 · 익명 님의 질문 업데이트

개발자 신입 준비

안녕하세요 개발자 준비중인 컴퓨터공학과 4학년 학생입니다. 우선 저는 3회정도의 프로젝트를 진행했고 어쩌다 보니 팀 프로젝트 였지만 제가 거의 풀 스택으로 진행했고 Spring, Node, React를 사용가능하고 아키텍처적으로 규모가 있진 않지만 대략 30개 이상의 Entity를 가지는 규모의 프로젝트들이며 기업인분들에게 좋은 평가를 받은 프로젝트도 있습니다 (Flutter로 간단한 앱도 만들어보았고 , 어플리케이션 프로젝트도 진행 해보았습니다.) React는 타입스크립트 자바스크립트(JavaScript)를 사용해서 나름 자유자재로 만들고 수정할 수있고 타입스크립트(TypeScript)로 전환하는 방향으로 가고 있으며 Node는 레거시로 Express와 sql사용해서 사용했고 Spring은 Spring Boot, Spring MVC, Spring Security,JPA, Redis, JWT 등으로 다양하게 접목 시키고 있고 왜 필요할까를 생각하며 다양하게 접근하고 있습니다. (JPA나 AOP 등의 깊은 공부도 함께 하고 있습니다.) 실제 서버에 배포도 해보았고 지금 진행중인 프로젝트는 AWS를 통해 여러 인스턴스로 나눠서 최적화 하여 배포해볼 예정입니다. 이렇듯 부족하지만 웹쪽에서는 나름 발전의 자신감이 있는편입니다 하지만 제가 코딩테스트에 준비를 하지못했는데 요즘 코딩테스트가 거의 모든 기업 필수여서 아직 프로젝트 진행중이기도 하고 코딩테스트 때문에 아직 입사지원을 생각하지 못하고 있습니다. 코딩 문제를 한번도 풀어본적 없고 기본문법조차 잘 모르고 그런 상황입니다 ㅜㅜ 막상 시작하려고하니 시간적 압박도 그렇고 어떻게 어느정도의 기간을 잡고 해야할지 막막해서 글올려봅니다 선배님들 현직자분들 저는 웹 관련해서 너무 재밌게 찾아보고 고민하며 작업을 하는데 코딩테스트를 따로 준비해서 내년에 입사를 지원하는게 맞을까요 보통 어느정도가 되어야하고 어느정도 시간이 필요할까요 도움 부탁드립니다. 읽어주셔서 감사합니다!

개발자

#신입

#개발자

#코딩테스트

#취업준비

답변 0

댓글 0

조회 145

8달 전 · aigoia 님의 답변 업데이트

고졸 개발자 취업 고민

안녕하세요. 저는 25살 백엔드 개발자 취업이 목표인 고졸 취준생입니다. 21살에 웹 퍼블리셔로 첫 직장을 다니다 경영 악화로 퇴사 후 다른 직종에서 1년 근무 후 IT 계열에 미련을 버리지 못하고 약 1년 전에 퇴사 후 백엔드 개발자 국비 과정을 수료했습니다. (백엔드를 선택한 이유는 너무 길어질 것 같아 생략하겠습니다.) 6개월의 과정 수료 후 포트폴리오를 다듬고 이력서를 넣기 시작한 지 5개월째 이력서를 넣을 때마다 지원자가 기본 300, 400명씩 되고 연락 오는 곳은 아무 데도 없으니 이 직업으로 밥은 먹고살 수 있을까 싶고 주변에서도 개발자로 취직은 더 이상 힘들지 않겠냐는 말을 자주 듣다 보니 포기하고 빨리 다른 길을 찾아야 하는 건 아닐까 싶고.. 마음이 복잡해서 선배님들의 조언을 구하고자 글 적어봅니다. 백엔드 과정 수강 당시에 HTML, CSS, jQuery, Java, spring boot3, oracle, mySQL을 배웠고 원래도 HTML, CSS, jQuery는 할 줄 알았습니다. 개인 포트폴리오에는 Spring Security를 활용하여 로그인 기능 구현과 게시판 CRUD 구현, AWS 배포한 사이트와 jQuery 프로젝트로 일반 게시판 부분을 AJAX로 XML 문서와 연동하고 각종 화면 단 효과 구현한 사이트, 앱 기획과 화면단 구현 등을 넣었고 취업에 조금이라도 도움이 될까 싶어 수료 후에 정보처리 기능사 자격증 취득하고 학원에서 배운 스프링은 정말 딱 저 정도라(그마저도 사실 구글링해서..) 인프런에서 강의를 보며 스프링 기초부터 다시 공부하고 있습니다. 시작할 때 어려운 길이 될 거라는 예상은 했었지만 과정 수료 후 5개월, 퇴사는 1년이 넘어가니 점점 불안감이 생깁니다.. 이 길을 계속 이어가도 될까요? 오래 걸려도 계속해도 될까요? 계속 이어간다면 어떤 것들을 더 채워야 좋을까요?? 그냥 가망이 없는 것 같다면.. 솔직하게 말해주셔도 괜찮습니다. 불안하고 답답한 마음에 새벽에 작성하는 글이라 조금 두서가 없을 수도 있겠지만 긴 글 읽어주신 분들 감사합니다.

개발자

#고졸신입

#웹개발자

#취업고민

#취업

#백엔드

답변 1

댓글 0

조회 335

9일 전 · 오솔지 님의 새로운 답변

중국 유학생이 한국에서 Java 개발 직업을 찾으려면 어떻게 해야 하나요?

안녕하세요, 저는 중국에서 온 유학생입니다. 25년 2월에 졸업 예정입니다. 한국에서 Java 백엔드 개발자 직업을 찾고 싶습니다. 현재 개인적으로 진행한 프로젝트가 두 가지 있습니다. 프로젝트 1: Hash 해시 알고리즘을 기반으로 한 데이터베이스 라우팅 컴포넌트 프로젝트. 사용한 기술 스택: Springboot, MySQL, ThreadLocal, Mybatis, AOP 어노테이션. 프로젝트 2: 커뮤니케이션 플랫폼 시스템. 사용한 기술 스택: Springboot, Redis, Kafka, MySQL, ElasticSearch, Spring Security. 이 프로젝트들이 한국의 Java 개발 직무와 부합할까요?

개발자

#java

#springboot

#kafka

#신입-개발자

#개발자

답변 2

댓글 0

조회 107

일 년 전 · 김인후 님의 새로운 답변

spring security에서 JWT를 사용할 때 질문이 있습니다.

SecurityConfig에서 .requestMatchers(HttpMethod.GET, "/boards/*/comments").permitAll() 이런 식으로 허용을 해주고 JwtAuthorizationFilter에서 accessToken이 유효하지 않으면 response에 토큰에 문제가 생겼다는 에러 메세지를 리턴을 하게 해뒀습니다. GET /boards/*/comments 요청을 보내면 해당 게시물의 댓글들을 조회를 해올 때 좋아요를 누른 상태인지 누르지 않은 상태인지 구분을 할때 문제가 생겼습니다. 로그인을 한 사용자는 댓글들을 조회할 때 좋아요를 눌렀나 안눌렀나 확인을 해야하고 로그인을 하지 않은 사용자는 무조건 좋아요를 안 누른 상태로 해야되는데 JwtAuthorizationFilter에서 에러 메세지를 리턴을 하되면 로그인을 해야지만 조회가 되는 문제가 생기고 JwtAuthorizationFilter에서 에러 메세지를 리턴하는 코드를 빼자니 모든 Controller쪽에서 null체크를 해줘야 하고... 감을 못잡겠습니다ㅜ_ㅜ

개발자

#java

#spring

답변 1

댓글 0

조회 71

일 년 전 · 승주 님의 새로운 답변

springsecurity session & JWT 동시사용 질문

안녕하세요 session과 jwt의 동시사용에 대하여 질문을 드리려고 합니다. session은 서버의 자원을 점유한다는 점에서 jwt를 사용한다고 알고 있습니다. 하지만 보안이 중요시되는 사이트라면 jwt랑 sesison을 같이 사용해도 괜찮을까요? 아직 대학생이라 이것저것 해보고 싶은 마음에 session id를 jwt에 넣어 사용해보려고합니다. MVC와 WEBFLUX 두가지방법으로 구현해서 비교해보려고하는데 괜찮은 프로젝트가 될지 아니면 그냥 삽질일지 판단을 못하겠어서 질문 드립니다.

투표

개발자

#spring-security

#session

#jwt

#mvc

#flux

답변 2

댓글 0

조회 317

일 년 전 · 신예찬 님의 새로운 댓글

RCE 보안공격 질문입니다!

안녕하세요 백엔드 취업 준비생입니다 최근 프로젝트를 진행중에 배포서버를 구성해봤습니다 aws ec2에 docker compose로 nginx, WAS, redis를 컨테이너화해 동작시키고, nginx에 의해 3개의 WAS가 로드밸런싱 된 상태입니다(WAS 는 sping boot+spring security+JPA를 사용중입니다) route 53으로 Gabia에서 구매한 도메인을 연결해둬 도메인 접근을 허용해둔 상태입니다 배포 서버가 정상적으로 동작하는지 확인하기 위해 log를 보고 있었는데 이상한 요청이 보였습니다 요청 url에 `chmod 777`이라던지 `rm -rf`가 보여서 식겁해서 일단 서버는 내려뒀습니다 알아보니 RCE라는 공격 방식 같더라고요 그래서 RCE를 막는 최선의 방법이 무엇인지 궁금합니다 또 통상적으로 알고있으면 좋은 보안 방어 기법에는 어떤것들이 있을지 궁금합니다! (가능하면 AWS 과금이 없는방법이면 더 좋을거같아요 😊 😊)

개발자

#nginx

#security

#springboot

#aws-ec2

답변 1

댓글 1

조회 93

일 년 전 · 이양일 님의 새로운 답변

스프링부트 ServiceInterface에 요청문 작성

안녕하세요 MSA아키텍처를 적용한 개인프로젝트 진행중에 궁금한 사항이 생겨서 글 작성합니다 회원정보 수정을 한 뒤 수정이 정상적으로 완료되었을 때 클라이언트에 완료되었다는 메세지와 함께 로그아웃 메서드를 실행시키고 싶어서 public interface IUserInfoService { @PostMapping(value = "security/v1/logout") void logout(); } 이렇게 서비스 인터페이스에 작성을 해두고 컨트롤러에서 userInfoService.logout(); 으로 호출하여 실행하는데 권장되는 방법인지, 더 좋은 방법이 있는지 궁금해서 질문드립니다

개발자

#springboot

#java

#spring-security

#msa

답변 1

댓글 0

추천해요 1

조회 338

일 년 전 · 김도원 님의 답변 업데이트

퇴사한지 반년 넘은 3년차 java 개발자 입니다..

전 회사에서 크롤링으로 혹사당한 후 대상포진까지 걸리고 더는 안되겠다 싶어 퇴사하고 3개월정도 휴식기를 가지고 3개월째 준비하고 있습니다. 총 반년.. 사이드프로젝트도 계속 만들고 있는데 어디까지 손봐야 하는지 감이 잡히지 않습니다.. 코딩테스트는 사실상 준비하지 않아서 과제테스트를 보는 곳으로 생각하고 있는데 3년차로 들어가게 된다면 어떤 것을 해야하는지 혼란합니다. 현재는 spring security, jwt, oauth2 를 이용해 로그인 기능을 구현해 놓은 상태에 docker, aws, jenkins를 이용해 서버에 올리는 정도까지만 진행한 상태입니다.. 찾아보니 redis, kafka 같은 것들도 해야 할 것만 같은데 시간이 없는 상태에서 진행하는게 맞을까요? 테스트코드도 습관이 되어 있지 않아서 혼자서 작성하려니 너무 벅찬 느낌이 듭니다.. 현재하고 있는 것에서 마무리하고 구직을 해도 상관없을지, 더 배우고 채워야 할지 모르겠습니다,,

개발자

#이직

#java

#백앤드

#3년차

답변 5

댓글 6

추천해요 10

조회 3,760

일 년 전 · 익명 님의 질문 업데이트

인공지능 대학원 생각중인데 도와주세요!

컴공 전공생입니다. 코드짜서 프로젝트에 참여하고 개발하는 것보단 학과 공부가 더 편하고 흥미가 있어서요. 인공지능 쪽(정확한 분야 설정 X, 이제 공부시작)으로 대학원 생각중이여서 올해부터 머신러닝 스터디에 참여하고 있어요 혹시 벡엔드 지식이 있어야할까요? http, jpa, spring security, jwt, aws, ci/cd를 공부하는 스터디가 있어서 참여해야할지 고민됩니다 많은 조언 부탁드립니다!!

개발자

#인공지능

#대학원

답변 2

댓글 0

조회 216

일 년 전 · 손우진 님의 새로운 답변

Spring Cloud Config 서버에 관하여 질문이 있습니다.

MSA 아키텍처에서는 대개 환경 정보를 일괄적으로 관리하는 서버를 두는 것으로 알고 있습니다.(Cloud Native 12 Factors) 그 중에서 Spring에서 사용할 수 있는 것은 Spring Cloud Config Server입니다. 해당 컨피그 서버를 사용하면 효율적으로 application.yml를 관리할 수 있죠.. 그런데 여기까지는 좋습니다만 제 지식으로는 해결할 수 없는 문제가 발생했습니다. Github Actions CI/CD에서 빌드를 할 때 application.yml이 없어도 되지만 빌드 검증을 위해선 필요합니다. 그런데 이때 Config Server를 외부 포트로 열어놓고 Github actions 접속시 비보안적이지 않나요..? 그래서 Spring Basic Auth를 사용하여 접근하려 했지만 왜인지 모르게 오류가 계속 뜹니다. (몇 시간 동안 해봤지만 안됩니다.. 충돌 때문인지는 모르겠지만 그냥 Security 관련 Bean이 설정이 안되더라구요..) 관련해서 AWS를 활용하여 일회성 인증을 하는 방법이 있다고 합니다만.. 이것만이 방법은 아닐 거 같습니다. 에이 몰라! Config Server 외부 포트 열어놓는건 위험하니까 그냥 Github actions secrets에도 application.yml를 다 넣고 빌드 검증해보고, 실제 배포때는 Dockerfile로 프로파일 설정해서 Config Server에서 불러와야지! 라고 하기에는 그럼 application.yml이 수정될 때 마다 github actions, config server 둘다에서 수정해줘야 할 것 같습니다… 관련하여 조언 주시면 감사하겠습니다.

개발자

#spring

#spring-cloud

#spring-cloud-config

#msa

답변 1

댓글 0

조회 82

일 년 전 · 익명 님의 새로운 댓글

프론트에서 세션으로 로그인 유지 하려는 과정 중 문제가 생겼습니다.

안녕하세요 현재 제가 백엔드(스프링)를 진행하고 있고, 지인이 프론트를 진행하고 있습니다. JWT를 진행하기 전 세션을 통해서 로그인을 해보려고 합니다. 결론부터 말씀 드리자면 쿠키값에 세션id가 저장이 안되어 로그인 유지가 안되는 상황입니다. 사용하고 있는 로그인 방식은 Spring Security FormLogin 방식입니다. 복잡하게지만 백엔드 쪽에서의 문제인지 코드를 한 번 올려드리겠습니다. 생각 1. 인텔리제이 내에서 html을 등록하여 진행하면 같은 도메인, 포트이기 때문에 시큐리티가 자동으로 세션을 만들고 그 세션을 통해 자동으로 유지된다고 생각합니다. 생각2. 하지만, 프론트, 백엔드 서버 포트가 다르기에 successHandler을 통해서 쿠키에 세션ID를 담아서 보내야 된다고 생각했습니다. 하지만, 세션ID는 유지가 되지 않고, 그것에 대해 계속 알아보던 중 해결책을 못찾아 질문을 드립니다. 프론트단에서 따로 처리를 해야되는 걸까요? 아니면 제가 제대로 설정을 못하고 있는 것일까요

개발자

#spring

#프론트

#백엔드

#세션

#session

답변 1

댓글 4

조회 278

일 년 전 · 유현명 님의 답변 업데이트

신입 고졸 개발자에게 필요한 것이 궁금합니다

저는 이제 25인 된 고졸 개발자입니다 제가 부족한 부분과 더 배워야하는 것 그리고 제 기술로 취업이 가능한지 궁금합니다 제가 사용가능한 기술은 언어 : JAVA, Python, C, html, Javascript 프레임워크 : Spring, Django, Swing DB : Oracle, Mysql, hibernate, JPA 기타 : Spring Security, OOP, gradle.build(kts), Ajax, Aws, Liunx(centOs7, ubuntu) 위 내용정도 프로젝트에 사용해 보았습니다

개발자

#java

#개발

#신입

#고졸

답변 2

댓글 0

조회 264

2년 전 · 오원종(Owen) 님의 새로운 답변

안녕하세요. 신입 8개월차입니다.

나이는 33살, 비전공 초대졸입니다. 23년 3월 국비 수료 후 5월 입사해서 8개월차 웹개발자로 일하고있습니다. 연봉은 2800이고 중소기업이라 백엔드/프론트엔드 구분없이 바닐라js, jQuery, spring boot, JPA, mariaDB 환경에서 사수 도움없이 입사동기와 프로젝트 한 개를 완성시켰습니다. jwt토큰과 Spring Security 사용하여 로그인 구현, 동시성 이슈 해결, 자세히는 말하지 못하지만 이외에도 기본적으로 필요한 기능들과 핵심기능들을 개발하였습니다. (준공공기관 사업) 또한, 개발 진행하면서 스프링 레거시로 유지보수 및 간단한 기능개선을 위한 소소한 개발을 했습니다. 곧 5월이 되면 1년차이기도하고 내년 상반기에만 제가 메인 개발자로 홀로 프로젝트를 2~3개 진행하게 될 것 같은데 2800이라는 연봉에 비해서 책임이 큰 것 같아 고민입니다. 어찌됐건 1년은 꽉채울거지만….연봉협상 때는 얼마를 불러야 할까요? 전 최소 3300정도를 생각하고 있는데…적당할까요? 만일 회사에서 3000을 준다하면 이직을 해야할지도 고민됩니다. 현재 일은 많으나 사수가 없어서 좋은 코드에 대한 고민도 못하고 굴러가게만 하는 데에 집중해서 얼레벌레코딩중이라서 ㅜㅜ 배울 점도 없어보입니다….

개발자

#신입연봉

답변 1

댓글 0

조회 1,022

2년 전 · 손우진 님의 새로운 답변

nextauth 를 이용해 springboot 의 jwt를 받아와서 로그인을 구현중입니다.

안녕하세요. nextauth 를 이용해 로그인 구현중입니다. 흔히 생각하는 소셜 로그인이 아닌 username 과 password를 통해 springboot security 에서 jwt를 반환 받아오려고 합니다. // app/api/auth/[...nextauth]/route.ts CredentialsProvider({ name: 'Credentials', credentials: { username: { label: 'Username', type: 'text', placeholder: '아이디' }, password: { label: 'Password', type: 'password' }, }, async authorize(credentials, req) { const res = await fetch(`${process.env.NEXTAUTH_URL}/auth/login`, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ username: credentials?.username, password: credentials?.password, }), }); const user = await res.json(); console.log(user); if (user) { return user; } else { return null; } }, }), 그런데 위의 코드처럼 코드를 구성했을때 .env.local 파일의 NEXTAUTH_URL 이 등록이 되면 authorize 가 작동하지 않습니다 . 에러 log라도 있으면 어떻게라도 해보겠는데.. 그것도 없습니다. 그래서 NEXTAUTH_URL 를 등록하지 않고 const res = await fetch(`http://localhost:8080/auth`, 바꾸면 이것역시 에러 log 없이 브라우저상에서 Error 라는 문구만 보여줍니다. 이렇게 생각했을때 authorize는 값을 내부에서만 가져올수 있는거 같은데요. 실제로 가상의 const user = {....} 를 만들어서 반환하면 로그인이 아주 잘 됩니다. 하지만 제가 원하는 방법은 아니죠..ㅍ 검색해보면 prisma 가 많이 나오는데.. 그것 또한 시스템상 제가 원하는 방식이 아닙니다. springboot security 에서 jwt를 받아와서 nextauth에 로그인을 할수 있는 방법은 없을까요? custom login 페이지를 만들어서 해야 할거 같은데 방법을 잘 모르겠습니다. 현재 springboot 서버에 cors 설정이 정상적으로 허용된 상태입니다.

개발자

#nextauth

#springboot

#jwt

#nextjs

#typescript

답변 1

댓글 0

조회 1,307

일 년 전 · 백승윤 님의 새로운 답변

서버 운영중에 궁금증이 생겼는데 이 로그는 해킹시도인가요?

django.core.exceptions.DisallowedHost: Invalid HTTP_HOST header: 'pingjs.qq.com'. You may need to add 'pingjs.qq.com' to ALLOWED_HOSTS. 2023-10-03 05:09:32,644 [ERROR] django.security.DisallowedHost: Invalid HTTP_HOST header: 'pingjs.qq.com'. You may need to add 'pingjs.qq.com' to ALLOWED_HOSTS. Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/django/core/handlers/exception.py", line 55, in inner response = get_response(request) File "/usr/local/lib/python3.9/site-packages/django/utils/deprecation.py", line 133, in __call__ response = self.process_request(request) File "/usr/local/lib/python3.9/site-packages/django/middleware/common.py", line 48, in process_request host = request.get_host() File "/usr/local/lib/python3.9/site-packages/django/http/request.py", line 167, in get_host raise DisallowedHost(msg) django.core.exceptions.DisallowedHost: Invalid HTTP_HOST header: 'pingjs.qq.com'. You may need to add 'pingjs.qq.com' to ALLOWED_HOSTS. 2023-10-03 05:09:32,646 [WARNING] django.request: Bad Request: /ping.js 2023-10-03 05:09:32,646 [WARNING] django.request: Bad Request: /ping.js 2023-10-03 05:38:50,055 [WARNING] django.request: Not Found: /wp-admin/setup-config.php 2023-10-03 05:38:50,055 [WARNING] django.request: Not Found: /wp-admin/setup-config.php 2023-10-03 05:38:55,464 [WARNING] django.request: Not Found: /wp-admin/install.php 2023-10-03 05:38:55,464 [WARNING] django.request: Not Found: /wp-admin/install.php 2023-10-03 05:39:03,014 [WARNING] django.request: Not Found: /readme.html 2023-10-03 05:39:03,014 [WARNING] django.request: Not Found: /readme.html 2023-10-03 05:39:12,407 [WARNING] django.request: Not Found: /license.txt 로그를 까보면 이런식으로 무언가 요청을 엄청 많이 하더라구요 ?? 방지하는 방법이라던가 혹시 어떻게 대처해야할지 아시는분이 있을까요 ..?

개발자

#django

#nginx

답변 2

댓글 0

추천해요 1

조회 780

2년 전 · 삭제된 사용자 님의 새로운 답변

사이드 프로젝트 중인데, 여기서 어디로 방향을 잡아야 할지 모르겠습니다.

올해 졸업 후 spring boot 백엔드 취준을 시작했습니다. 4월 즈음 프로젝트 인원을 모아 기획자, 동시에 백엔드 개발 역할로 프로젝트를 시작했습니다. 현재 어느 정도 진행되었지만, 공부가 부족해 어느 방향으로 나아가야 할지 정체된 상황입니다. 주제는 커리어리, 인프런 같이 스터디나 사이드 프로젝트 인원을 찾는 사이트입니다. 기본적인 레이어 개발은 거의 완성된 상황(api 및 비즈니스 로직 , 데이터 페이징 등)이고, spring security, jwt를 적용한 로그인/ 로그아웃도 구현되었습니다. 이 다음 어디로 나아갈지 고민중 입니다. 이 다음 단계로의 경험이 별로 없어 쉽지 않은 것 같습니다.. 제가 생각한 길은 이렇습니다. - 클라우드 설계. - 개발할 때 등한시 한 테스트 코드 다시 만지기 - ?? 사실 제대로 하고 있는 지 의문이 들지만,, 저희 스스로 할 수 있는 최대한 해보려 합니다. 도움 주시면 감사하겠습니다

개발자

#spring-boot

#사이드프로젝트

#백엔드

답변 1

댓글 0

조회 238

2년 전 · 커리어리 AI 봇 님의 새로운 답변

초보 개발 질문입니다. Spring Security를 사용해보려고 하는데 활용방법 있을까요?

환경 : Spring boot : 빠른 설정 추가를 위해서 사용합니다. jsp : jsp를 이용하지만 axios로 프론트-백엔드를 연결합니다. JPARepository : 쿼리 작성을 간편화 하기 위해 사용합니다. ORACLE : 사용하는 데이터 베이스 입니다. 하고 싶은 기능은 : Spring Security 를 통한 로그인, 로그인 시 jwt토큰 발급입니다. 로그인, 회원가입 기능을 구현중인데 Spring Security 라는 프레임워크가 있길래 사용해보려고합니다. 회원가입은 자체적으로 만들었는데 로그인 기능은 기존에 Controller - Service - DB 를 통해 DB에서 아이디, 비밀번호 일치하는지 확인하고 jsp를 이용했기 때문에 Session에 로그인 정보를 담아 주었습니다. 이번에는 axios를 통해 프론트엔드에서 요청을 보내면 서버에서 응답하는 방식을 사용해보려고합니다. (jsp + axios 입니다.) 그리고 로그인이 성공하면 jwt토큰을 발행해서 로그인을 유지시켜주려고 합니다. 그래서 대부분 Spring Security 와 jwt를 같이 사용하길래 저도 사용해보려고합니다. Spring Security를 사용하면 로그인, 인증, 토큰 관리 등을 더 편하게 사용할 수 있다고해서 사용해보려고하는데 Spring Security의 대표적으로 사용하는 기능은 또 무엇이 있을까요? 그리고 Spring Security를 사용하면 어떤 점에서 장점이 있을까요? 너무 부족한 질문들이라 죄송합니다. 답변해주시면 잘 참고하겠습니다.

개발자

#spring-security

#jwt

#spring-boot

답변 1

댓글 0

조회 226

2년 전 · 달레 님의 답변 업데이트

Spring security로 OAuth2.0 인증 후 클라이언트에게 JWT 보내기

spring security와 소셜 로그인 , JWT를 같이 써보려고 개인적으로 연습을 하던 중 의문이 들어서 이렇게 질문을 올립니다. 제가 생각한 과정은 다음과 같습니다 1. 클라이언트가 서버에 구글 로그인 요청을 보낸다 {{BASE_URL}}/oauth/authorization/google -> 스프링 시큐리티에서 기본적으로 제공하는 로그인 경로입니다. 2. 서버에서 스프링 시큐리티의 과정에 따라 유저 정보를 가져온 후 데이터베이스에 저장하고 JWT을 발급한다. 3. 발급된 JWT를 클라이언트에게 response로 던져준다. 의 과정이였는데 생각해보니 3번의 발급된 JWT를 클라이언트에게 못던져주겠다는 생각이 들었습니다. 클라이언트에서 서버의 로그인 URI에 접근하면 이미 클라이언트의 손을 떠난 request가 되는데 response를 클라이언트에게 던져줄 방법이 없는 것 같아서,,, 혹시 이부분에 대해서 알려주실 수 있는지 궁금합니다. 클라이언트와 통신을 해야하는 상황이라면 클라이언트에게 인가 코드나 access_token을 받아서 서버에서 자체적으로 http 통신을 하는 방법밖에 없는지도 궁금합니다. security에서 OAuth2.0에 대한 인증 인가가 굉장히 편하게 만들어져 있다고 생각했는데 이런 부분에서 막히네요 ㅠ

개발자

#java

#spring-boot

#spring-security

#oauth2.0

답변 1

댓글 1

추천해요 1

조회 439

2년 전 · 박상우 님의 질문

Spring boot 3.x 카카오 Oauth 구현을 처음 해보는데요.

스프링부트 3.x, Spring security, Oauth2 버전 이용해서 카카오 로그인 인증을 구현하려고 하는데요. 구글링으로 레퍼런스를 찾아봐도 자료가 많이 없는데 혹시 추천해주실 문서가 있을까요?ㅜㅜ

개발자

#oauth

#springboot

#login

답변 0

댓글 0

추천해요 1

조회 202

2년 전 · 커리어리 AI 봇 님의 새로운 답변

spring security 권한 처리

데이터베이스에 user테이블과 role테이블 그리고 user_role테이블을 만들어 user_id와 role_id를 만들어 다대다 매핑을 하였습니다. 기존에는 configureGlobal방식으로 .authoritiesByUsernameQuery(“select u.email, r.name from user_role ur inner join user u on ur.user_id = u.id inner join role r on ur.role_id = r.id where u.email = ?") 이런 방식으로 했는데 userDetailsService 인터페이스를 이용하여 로그인 처리를 하는 방식에서 유저의 권한을 어떻게 처리해야할지 모르겠습니다ㅠㅠㅠ 아직 시큐리티에 대해 잘 몰라 자세히 알려주시면 정말 감사하겠습니다 ㅠㅠ

개발자

#spring

#springboot

#spring-security

#권한처리

#userdetailsservice

답변 1

댓글 0

추천해요 1

조회 373

일 년 전 · 심규민 님의 질문 업데이트

이제 3학년 올라가는데 얼마나 더 공부해야할까요?

작년 5월부터 지금까지 스프링 공부를 했습니다. 공부하는 기간동안 프로젝트 2번의 경험이 있습니다. 프로젝트를 진행하면서 security이용해서 jwt 구현하고 jpa도 사용해봤습니다. 또 단위테스트도 다 작성해봤습니다. 그런데 두번 모두 백엔드 개발자 2명이서 진행했습니다. 그래서 이번에 기획, 프론트엔드 개발자 모두 있는 개발동아리에 들어가거나 인터넷에서 프로젝트를 구할생각인데 취업전에 이러한 활동 말고도 어떤걸 더 준비하면 좋을까요?

개발자

#java

#spring

답변 2

댓글 3

추천해요 1

조회 276

2년 전 · 커리어리 AI 봇 님의 새로운 답변

springboot 3, security6 mock질문입니다.

securityconfig 에서 permitall 을 한 상태입니다. postman 이나 talendapi로 요청을 보내면 200이 떨어지나 테스트코드에서 mockmvc 를 하면 401이 나옵니다. 3일째 찾고있는데 없어서 질문드립니다 ㅠㅠ

개발자

#springboot

답변 1

댓글 0

조회 150

3년 전 · 익명 님의 새로운 댓글

백엔드 중견이상 포트폴리오

이제 4학년 올라가는 학부생입니다. 백엔드를 공부하며 포트폴리오를 준비하려 합니다. 인프런 강의를 통해 spring, jpa, spring security등을 학습했습니다 포트폴리오에 해당 기술들과 소켓 프로그램을 통한 채팅, 위치 인증이 필요한 커뮤니티를 개발하여 배포하는것을 목표로 합니다. 프론트엔드는 Vue.js를 다루는 친구와 함께 진행할 예정입니다 그러나 해당 기술들은 파면 팔수록 깊어지는 것 같아 어디까지 포트폴리오에 녹여야 할지 잘 모르겠습니다. 또한 중견기업 이상의 회사에 입사하려면 어떠한 기술 스택이 더 필요한지 채용정보를 봐도 잘 감이 안옵니다. 이 부분에 대한 답변을 얻고 싶습니다! 추가로 채팅 기능은 rdbms와 nosql 중 어떤 기술을 더 선호하는지 알고싶습니다

개발자

답변 2

댓글 2

조회 1,843

2년 전 · 송요창 님의 답변 업데이트

기획자를 하다가 개발자 전향해요

공대를 나와서 솔루션, 서비스기획, 에이전시 모두 경험하며 KB 프로젝트의 PM까지 진행하며 잘나갔던 6년차 과장에서 개발자로 전향하는 단계에요. 처음에는 개발자로 취업했었지만 SM성격의 좋소였기에 9개월만에 나왔고 기획자로 전향했는데 시니어급이 되고나서 프로젝트의 키를 잡고 감에있어 개발방향에 대한 견해를 내놓으면 개발도 모르면서 개발을 이야기하지말라는 소릴 많이 들었어요.. 분한 와중에도 불가능한 자동화를 원하는 현업 또는 사업부서를 컨트롤 하며 자부심을 느꼈지만 결국 개발자가 아닌 기획자는 미운오리새끼 취급이었고 잠시 서서 옆을 보니 같이 달리는 기획자들이 디자이너, 사업부 출신이라는 것에 심한 현타를 느꼈답니다.. 국비지원으로 자바, 스프링부트를 배우면서 게시판 3가지 버전(jpa/querydsl/mybatis), 이후 책 예제를 보지않고 자바스크립트로 토이프로젝트로 심리테스트 사이트, 팀프로젝트로 ERP 회계인사관리로 공통과 메인, 회계전표, 로그인(jwt, spring security) 구현했고 하다보니 메모리관리나 이벤트 리스너를 통한 효율적인 개발방법이 필요하겠다싶어 이벤트리스너에 대해 알아보다가 급 NodeJS를 공부하고있어요. 기획자로 돌아갈 생각이없고 나이가 35살이다보니 정말 절박하리만큼 신입새발자로써의 필요한 역량 또는 익혀야할 지식 등 선배님들의 조언이 필요합니다. 노션에 공부내용을 적고(누구보라는 식으로 적은게 아닌 연습장식), 깃허브에는 3달째 하루1커밋 목표로 잔디심고있어요! 하지만 이 외에 제가 뭘더 준비를 하면 좋을까요...?ㅑ

개발자

답변 1

댓글 1

추천해요 6

조회 1,067

2년 전 · 커리어리 AI 봇 님의 새로운 답변

스프링 시큐리티 접근제어 문제 질문

스프링 시큐리티에 ​ AbstractAuthenticationToken authentication = new UsernamePasswordAuthenticationToken( "email", null, AuthorityUtils.createAuthorityList("admin") ); 이런식으로 값을 넣어주고 ​ 컨트롤러에서 SecurityContextHolder.getContext().getAuthentication() 로 값을 뽑았을 때 [Principal="email", Credentials[PROTECTED], Authenticated=true, Granted Authorities=[admin]] ​ 이렇게 값이 잘 옵니다. ​ 문제는 시큐리티 콘피그에서 ​ http.authorizeRequests() .mvcMatchers("/offers/**").hasAuthority("admin") 으로 설정해놓았는데 offers에 접근하면 403 forbidden에러가 뜹니다.... ​ hasRole로 바꾸어도 마찬가지고요. ​ 왜 해당 에러가 발생하는지 궁금합니다. csrf().disable()도 하였습니다. ​ SecurityContextHolder.getContext().getAuthentication()에 있는 값으로 SecurityConfig에 있는 권한을 설정하는 것이 아닌가요? ​ 검색하며 시도를 해보았지만 해결되지 않아 질문합니다.

개발자

#백엔드

답변 1

댓글 0

추천해요 1

조회 293