Framework (Backend)/SpringBoot10 (SpringBoot) 로그인/로그아웃 처리하기 : Spring Boot 2.x.x Web Tutorial 튜토리얼의 마지막 과정인 로그인/로그아웃 처리를 해보겠습니다. 보통 다른 프레임워크의 경우에는 미들웨어라는 개념의 레이어가 존재하고, 컨트롤러가 동작하기 전에 먼저 실행이 됩니다. 그래서, 인증에 관련된 미들웨어에서 보안코드를 작성하여 내부URL의 접근여부를 결정합니다. 그런데, Spring Boot는 미들웨어라는 것이 없고, Spring Securify 모듈을 따로 제공하고 있습니다. 이 Security 모듈의 사용법을 익혀서 적용하면 쉽게(?) 로그인/로그아웃을 처리할 수 있습니다. build.gradle 에 Spring Security 모듈에 대한 의존성을 추가합니다.implementation 'org.springframework.boot:spring-boot-starter-security' 위의 .. Framework (Backend)/SpringBoot 2021. 11. 29. Spring Boot 2.x.x Web Tutorial : Thymeleaf + MyBatis + MySQL(MariaDB) 이번에는 Spring Boot 웹 프로젝트 튜토리얼을 제작해보겠습니다. 프레임워크 중에서도 가장 어렵고 하기 싫었던 녀석이었는데, 이번에 Spring을 알아야 할 일이 생겨서 공부를 시작했어요. 이 과정을 마치면 다음에는 Spring Boot 로 Restful API 서버 튜토리얼도 만들어보겠습니다. HTML 템플릿으로는 Thymeleaf 를 사용합니다. Spring에서 강력하게 추천하는 템플릿입니다. 그만큼 가장 좋습니다. DB 접근은 MyBatis를 사용하고 일반 SQL이 아닌 Procedure를 사용할 것입니다. 설치할 DBMS는 MriaDB 인데, MySQL을 대신하셔도 되겠습니다. 그리고, 이 튜토리얼의 소스는 https://github.com/gauryan/springboot2-tutoria.. Framework (Backend)/SpringBoot 2021. 11. 22. (SpringBoot) 비밀번호 단방향암호화(SHA256) 하기 : Spring 2.x.x, MySQL 놀자코딩#Programming #Coding #Development #API #Server #python #golang #java #nodejs #javascript #프로그래밍 #코딩 #개발 #서버 #파이썬 #Go언어 #자바 #노드 #자바스크립트www.youtube.com 정보통신망법, 개인정보보호법 등에 의하면 비밀번호는 단방향암호화(SHA256 등), 개인정보는 양방향암호화(AES256 등)를 하도록 되어 있습니다. 지금까지 작성한 예제는 이런 법에 맞지 않아서 서비스할 수 없겠네요. 여기에서는 비밀번호의 단방향 암호화를 구현해보도록 하겠습니다. SHA256을 적용하겠습니다. Spring에서는 아무런 작업을 하지 않고, DB(MySQL)에서만 작업을 하겠습니다. 1. 일단 DBMS에 접속해서, T.. Framework (Backend)/SpringBoot 2021. 11. 22. (SpringBoot) 관리자 삭제하기 : Spring Boot 2.x.x Web Tutorial 1. 관리자 삭제를 위한 저장 프로시저(SP_DELETE_ADMIN)을 만들어봅시다.CREATE PROCEDURE SP_DELETE_ADMIN (i_id INT)BEGIN DELETE FROM TB_ADMIN WHERE id = i_id;ENDmysql> CALL SP_LIST_ADMIN();+-----+---------+-----------+---------+| sno | userid | password | nick |+-----+---------+-----------+---------+| 1 | testid1 | passwd101 | nick101 || 2 | testid2 | passwd2 | nick2 || 3 | testid3 | passwd3 | nick3 .. Framework (Backend)/SpringBoot 2021. 11. 22. (SpringBoot) 관리자 수정하기 : Spring Boot 2.x.x Web Tutorial 1. src/main/resources/templates/mgmt/admin/update_form.html 을 작성한다. 관리자 수정 아이디 별명 (필수) 2. src/main/java/com/tutorial/xyz/controller/mgmt/AdminController.java 에 다음을 추가한다.... // 관리자 수정 폼 @GetMapping("/admin/update_form/{id}") public String updateForm(@PathVariable("id") Long id, Model model) { Admin admin = mapper.getAdmin(id); .. Framework (Backend)/SpringBoot 2021. 11. 22. (SpringBoot) 관리자 비밀번호 변경하기 : Spring Boot 2.x.x Web Tutorial 이번에는 관리자의 비밀번호를 변경해볼 것입니다. 이를 위해서 저장프로시저를 2개 생성할 것이고, 관련 코드들을 작성해보겠습니다. 코드들이 이전과 비슷하지만, 조금씩 다들 부분들이 있으니 주의해서 봐주세요. 그리고, 이 튜토리얼의 소스는 https://github.com/gauryan/springboot2-tutorial 에서도 확인할 수 있습니다. 1. 저장 프로시저 (SP_GET_ADMIN) 생성 (1명의 관리자 정보를 가져옴)CREATE PROCEDURE SP_GET_ADMIN(i_id INT)BEGIN SELECT id, userid, password, nick FROM TB_ADMIN WHERE id = i_id LIMIT 1;ENDmysql> CALL SP_GET_ADMIN(2);+-----.. Framework (Backend)/SpringBoot 2021. 11. 22. (SpringBoot) 관리자 추가하기 : Spring Boot 2.x.x Web Tutorial 이 튜토리얼의 소스는 https://github.com/gauryan/springboot2-tutorial 에서도 확인할 수 있습니다. 관리자 목록을 보았으니, 이제는 새로운 관리자를 추가해봅시다. 1. 저장 프로시저 (SP_INSERT_ADMIN) 생성CREATE PROCEDURE SP_INSERT_ADMIN ( i_userid VARCHAR(255), i_password VARCHAR(255), i_nick VARCHAR(255))BEGIN INSERT INTO TB_ADMIN(userid, password, nick) VALUES(i_userid, i_password, i_nick);ENDmysql> SELECT * FROM TB_ADMIN;+-----+---------+---.. Framework (Backend)/SpringBoot 2021. 11. 21. (SpringBoot) 관리자 목록 보여주기 : Spring Boot 2.x.x Web Tutorial 이 튜토리얼의 소스는 https://github.com/gauryan/springboot2-tutorial 에서도 확인할 수 있습니다. 1. MySQL(MariaDB)에서 저장 프로시저 (SP_LIST_ADMIN) 생성한다.CREATE PROCEDURE SP_LIST_ADMIN()BEGIN SELECT id, userid, password, nick FROM TB_ADMIN;ENDCALL SP_LIST_ADMIN();+-----+---------+----------+-------+| id | userid | password | nick |+-----+---------+----------+-------+| 1 | testid1 | passwd1 | nick1 || 2 | testid2 |.. Framework (Backend)/SpringBoot 2021. 11. 19. Spring 프로젝트 생성하기 : Spring Boot 2.x.x Web Tutorial 이 튜토리얼의 소스는 https://github.com/gauryan/springboot2-tutorial 에서도 확인할 수 있습니다. Spring 프로젝트를 생성하려면 https://start.spring.io/ 사이트에 가서 필요한 항목을 입력하고, 프로젝트 파일을 다운로드 받아야 한다. 아래 이미지를 보면, 분홍색 박스로 어떤 것을 선택하고 입력했는지 확인할 수 있습니다. 이대로 선택한 뒤에, GENERATE 버튼을 눌러주시면, xyz.zip 파일을 다운로드 받게 됩니다. 참고로, Eclipse(STS), VSCode 를 사용하면 이 사이트에 방문하지 않고 IDE내에서 같은 옵션으로 프로젝트 생성이 가능하다. IntelliJ도 구매하면 프로그램에서 프로젝트 생성을 할 수 있다. 다운로드 받은 파일을.. Framework (Backend)/SpringBoot 2021. 11. 17. (SpringBoot) 개발환경 구성하기 : Spring Boot 2.x.x Web Tutorial 이 튜토리얼의 소스는 https://github.com/gauryan/springboot2-tutorial 에서도 확인할 수 있습니다. 저의 PC에는 Windows 10이 설치되어 있습니다. 개발환경을 구성하기 위해서 아래처럼 순서대로 설치해줍니다. 1. https://chocolatey.org/ 을 참고하여 Chocolatey를 설치한다. PowerShell 관리자모드 에서 아래 스크립트를 실행하면 Chocolatey 이 설치됩니다.> Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProto.. Framework (Backend)/SpringBoot 2021. 11. 17. 이전 1 다음