

인증 기능을 최종적으로 마무리하는 부분을 진행하였다. Spring Security가 제공하는 다양한 기능 중, 패스워드 인코더를 이용하여, 사용자의 비밀번호를 암호화된 값으로 서버에 저장하도록 작업하였다. 본래 사용자의 패스워드와 같은 민감한 정보는 서버에 그대로 평문으로 저장하게 되면, 만약 예기치 못한 사고로 인해 데이터가 유출될 경우, 돌이킬 수 없는 손실로 이어질 수 있기 때문에, 만에 하나라도 유출되더라도, 그 손해를 최소화하기 위해 민감한 정보를 철저하게 암호화하여 값을 저장하는 것이 필요하다. 이러한 방안을 매번 수동으로 처리해주는 것은 번거롭기 때문에, Spring Security가 Password Encoder 라는 인터페이스를 제공해주고 있는데, 해당 인터페이스의 구현체를 이용하여, 사용자가 입력한 패스워드를 편리하게 암호화하여 서버에 저장할 수 있게 된다. 실제 회사에서도 Spring 기반의 프로젝트 내, 패스워드 인코더를 이용하여 비밀번호를 저장하는부분이 있는데, 입사 초기에, Spring Security에 대한 경험과 이해가 없어서, 어떠한 역할을 하는지 구체적으로 알지 못했던 시절이 있다. 하지만, 이번 강의를 학습한 교육생들은 패스워드 인코더를 통해 암호를 암호화할 수 있다는 개념을 이해하게 되어, 추후에 관련 기능을 접하게 되었을 떄, 보다 소스코드를 빠르게 분석하여 프로세스를 파악할 수 있게 될 것이다. 이처럼, 온라인 강의를 통해 프레임워크에 대한 전체적인 기능과 흐름을 한번 경험해보고, 이후에 별도로 실습 기반의 추가 학습을 진행하는 것이 부족한 경험과 지식을 보완하는데 꼭 필요하다는 생각이 든다.
해당 패스워드 관련 부분 뿐만 아니라, 사용자의 인증 정보를 가져와서, 해당 정보와 게시글 작성자의 정보를 비교하여, 사용자가 작성한 글의 경우에만, 삭제와 수정 버튼이 노출되도록 Thymeleaf 문법을 이용한 프로그램 수정을 진행하였다. 더 나은 사용자 경험을 위해, 이러한 권한 부분에 대한 처리를 진행해주는 것이 꽤나 중요하다는 생각이 들었다.
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.