스프링시큐리티

지금은 미니프로젝트를 진행중이기 때문에 프론트서버를 따로 두지 않아서, 백엔드 서버에서 함께 동작시켜야 하는 상황이다. 문제: 크롬과 Postman의 JWT 인증결과가 다름 먼저 로그인을 하면 응답헤더에 JWT를 포함하여 바디와 함께 응답한다. 응답을 받은 클라이언트는 헤더에 JWT를 포함하여 /user로 GET 요청한다. /user 는 토큰의 인증이 있어야 접근할 수 있는 url이다. 브라우저에서 토큰 인증할 때, 로그인 이후 요청 헤더에 JWT 잘 넣어서 들어오고, 인증도 잘 마쳐진 상태이다. 토큰 제대로 들어오고, 인증 처리 완료돼서 Security Context Holder에 UserDetail 정보도 잘 저장된다. 근데 막상 크롬에서 페이지 이동이 잘 되었나 보면 인증이 안됨 ????? post..
회원정보 수정 기능은 사용자의 입력 값으로 DB의 정보를 최신화 시킨 다음 최신화된 DB정보를 바탕으로 스프링 시큐리티의 로그인 로직을 내부적으로 실행시켜 세션의 로그인 정보를 최신화 하는 방법으로 구현되었습니다. /user/updateForm.html 외부 자바스크립트 코드를 통하여 Ajax 통신을 진행할 것이기 때문에 button을 form태그 밖에서 작성합니다. input 태그의 id 값을 통해 입력값과 외부 자바스크립트 변수를 매핑해 줄 것 입니다. UserName: Password: Email: Email: 회원정보 수정 user.js /user 로 HttpBody에 json 형식으로 데이터를 담아 PUT 요청을 보냅니다. update: function (){ let data = { id: up..
스프링시큐리티 환경에서 회원 정보 수정 기능을 구현하던 중 회원 정보 수정을 완료하고 DB에 최신 데이터가 반영되었음에도 회원 정보페이지에 다시 접속하면 수정하기 전의 정보가 출력되는 현상이 발생하였습니다. 변경할 회원 정보를 입력하고 회원정보 수정 버튼을 클릭 시 정상 알림창이 출력되고 DB에도 정상적으로 수정된 정보가 반영된 것을 확인할 수 있습니다. 하지만,, 변경 후 다시 회원 정보를 요청하면 수정하기 전의 정보가 출력되는데 첫 번째 해결 방법 ❌ 이는 현재의 코드가 아래 예시 처럼 스프링 시큐리티 세션의 정보를 #authentication.principal로 가져와 사용자에게 출력하는 구조이기 때문에 일어나는 현상이었습니다. UserName: Password: Email: DB의 데이터가 정상적..
스프링 시큐리티 로그인 기능 구현 스프링 시큐리티는 스프링 기반의 애플리케이션 보안을 담당하는 프레임워크입니다. 이를 이용하여 로그인 기능을 구현할 수 있습니다. 로그인 기능을 구현하기 위해서는 스프링 시큐리티에서 제공하는 AuthenticationManager와 UserDetailsService를 구현해야 합니다. AuthenticationManager는 인증(Authentication)을 담당하고, UserDetailsService는 사용자 정보를 가져오는 역할을 합니다. 또한, 로그인 페이지와 로그인 성공/실패 시의 처리를 위한 컨트롤러와 뷰를 구현해야 합니다. 로그인 폼에서 입력한 아이디와 비밀번호를 AuthenticationManager에 전달하여 인증을 수행하고, 인증 결과에 따라 로그인 성공..
hyunsb
'스프링시큐리티' 태그의 글 목록