일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 타입스크립트 기초문법
- 스프링부트 게시판만들기
- 스프링부트 회원가입
- typescript 기초문법
- 유니티
- python 괄호 회전하기
- 스프링부트 update
- 파이썬 괄호 회전하기
- springboot 미니프로젝트
- spring jpa 사이드프로젝트
- springboot 게시판 프로젝트
- 괄호 회전하기 파이썬
- 파이썬 기초
- 유니티기초
- 스프링부트 블로그
- JS기초
- 스프링부트 미니프로젝트
- 타입스크립트 기초
- 유니티Material
- springboot 게시판만들기
- jpa 게시판
- 스프링게시판프로젝트
- springboot 사이드프로젝트
- spring jpa 게시판
- 프로그래머스 괄호 회전하기 python
- 타입스크립트 기본문법
- 유니티Cube
- springboot 게시판
- 스프링 게시판 만들기
- 스프링부트 블로그만들기
- Today
- Total
목록Spring/My First Blog Project (19)
Digking's cave

@AuthenticationPrincipal PrincipalDetail principal 을 작성하면 얘는 Authentication 객체를 가져온다 AuthenticationManager 가 UsernamePasswordAuthenticationToken을 받아서 Authentication 객체를 만든다. UsernamePasswordAuthenticationToken 을 UserDetailService한테 던지면, UserDetailService가 User 확인하고 있으면 Authentication 만든다. 회원정보 변경 후에 세션을 강제로 만들어서 저장해서, 재로그인없이 바로 변경된 회원정보를 볼 수 있게 한다. PrincipalDetailService.java package com.cos.blo..
BoardCotnroller.java package com.cos.blog.controller; import com.cos.blog.config.auth.PrincipalDetail; import com.cos.blog.service.BoardService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.data.web.PageableDefault; import org.springframework.security.core.an..
BoardController.java package com.cos.blog.controller; import com.cos.blog.config.auth.PrincipalDetail; import com.cos.blog.service.BoardService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.data.web.PageableDefault; import org.springframework.security.core.an..
BoardController.java package com.cos.blog.controller; import com.cos.blog.config.auth.PrincipalDetail; import com.cos.blog.service.BoardService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework..
로그인 한 후에 글쓰기를 누르면 board/saveForm으로 간다. saveForm이 열리고 글쓰기 완료를 누르면 board.js로 가서 data를 /api/board로 날린다. title,content를 가지고 BoardApiController에 가서, principal을 통해 user정보를 가지고 boardService가 실행된다. boardService에서 저장을 실행 후 정상적으로 완료되면 정상완료 응답이 온다. board.js 에서 done을 실행하고 끝난다. WEB-INF/views/board/saveForm.jsp Title Content 글쓰기 완료 board.js let index = { init: function(){ $("#btn-save").on("click",()=>{ this...
loginForm.java Username: Password: 로그인 을 지움 user.js에서도 login부분 지움 (login ajax연결이 필요없음 이제) SecurityConfig.java package com.cos.blog.config; import com.cos.blog.config.auth.PrincipalDetailService; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.authentication.builders.Authenticati..
sercive에서 비밀번호 해쉬화 + role 세팅까지 하고 controller에서는 실제 save만 진행하도록 한다. UserApiController.java package com.cos.blog.controller.api; import com.cos.blog.dto.ResponseDto; import com.cos.blog.model.RoleType; import com.cos.blog.model.User; import com.cos.blog.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springf..
# Spring Security 적용에 앞서 기존 코드 및 주소 정리 / (컨텍스트 삭제) /auth/joinProc /auth/loginProc /auth/joinForm /auth/loginForm header.jsp joinForm.jsp user.js UserApiController.java UserController.java 인증 안 된 사용자들이 출입할 수 있는 경로는 앞에 /auth 붙임 - /auth/** 허용 그냥 주소가 / 이면 index.jsp 허용 static 이하에 있는 /js/**, /css/**, /image/** application.yml server: port: 8000 servlet: context-path: / encoding: charset: UTF-8 enabled..
# 회원가입시 Ajax를 사용하는 2가지 이유 1. 요청에 대한 응답을 html이 아닌 Data(json)을 받기 위하여 2. 비동기 통신을 하기 위하여 resources/static/js user.js let index = { init: function(){ $("#btn-save").on("click",()=>{ // 화살표함수 쓰는 이유는 this를 바인딩하기 위해서 this.save(); }); $("#btn-login").on("click",()=>{ this.login(); }); }, save:function(){ let data = { username: $("#username").val(), password: $("#pwd").val(), email: $("#email").val() }; ..
#메인 / 로그인 / 회원가입 화면 UserController.java package com.cos.blog.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class UserController { @GetMapping("/user/joinForm") public String joinForm(){ return "user/joinForm"; } @GetMapping("/user/loginForm") public String loginForm(){ return "user/loginForm"; } } Board..