- 이 화면이 뜬다는 것은 정상적으로 Security가 적용되었음을 의미함
- Security 설정은 web.xml과 security-context.xml에서 설정함
- 이 설정이 기본적으로 설정된 login 폼을 사용하겠다는 코드
- 내가 만든 페이지인 customLogin 페이지를 찾아가겠음
- HomeController에서 login 메서드 수정
- 컨트롤러에서 리턴 되는 문자열도 그냥 문자열이 아닌 jsp를 찾게됨
- 컨트롤러에서 void를 쓰면 Mapping된 이름의 jsp를 찾게 됨
- 내가 설정한 login.jsp로 바뀜
- root-context에서 hikariConfig 빈을 추가
- & amp;를 이용해서 문장을 연결할 수 있음
- 이 코드는 DB를 이렇게 한다고 객체를 하나 만든 것임
- hikariConfig 빈과 sqlSessionFactory 빈 추가
- MVN 저장소에서 mybatis 검색
- pom.xml에 버전 3.4.6 코드 추가
- MVN 저장소에서 mybatis-spring 검색
- pom.xml에 버전 1.3.2 코드 추가
- namespaces에서 mybaist-spring과 context를 체크해줌
- root-context에 mybaits와 component-scan 추가
- mysecurity 안에 mapper, repository, service 패키지 추가
- mysecurity 안에 dto 패키지를 추가
- dto 패키지에 AuthDTO 클래스를 생성
- dto 퍀지ㅣ에 MemberDTO 클래스를 생성
- mapper 패키지에 MemberMapper 인터페이스 생성하고 MemberDTO를 import 받음
- src/main/resource 폴더에 com.mysecurity.mapper 패키지를 만들고 그 안에 MemberMapper.xml 파일 생성
- MemberMapper.xml의 내부 코드 작성
- CustomUserDetailsService 클래스의 loadUserByUsername 메서드 정상작동 확인하기 위해 출력문 추가
- 잘 작동하는거 확인 완료!
- 현재 여기까지 진행됨
- pom.xml에 spring-test 5.2.15.REALEASE 버전 추가
- src/test/java의 com.mycom.myapp 패키지에 MemberTest 클래스 생성
- 스프링을 테스트 해보려고 하므로 pom.xml에 spring-test 코드 추가
- MVN 저장소에서 코드를 가져올 시 scope가 설정되어있으면 지워줘야 함
- 빌드 패스에서 JUnit 라이브러리의 버전 4를 추가
- ContextConfiguration 애노테이션은 context를 불러오는 것
- testInsertMember 메서드 작성
- tbl_member라는 테이블에 값을 넣을껀데 100번을 넣을껍니다. 이 중 80번까지는 일반사용자, 90번까지는 운영자, 99번까지는 관리자로 등록이 될 것임
- 실행시 MySQL에 데이터가 잘 저장되었음을 확인할 수 있음
- 지울때는 위와 같은 방법으로 하면 지울 수 있음(물론 SQL문으로도 가능)
- BCrypt를 사용 안하고 PasswordEncoder를 사용해도 되는 이유는 상속받아서임
- testInsertAuth 메서드 생성
- tbl_member_auth라는 테이블에 값을 넣을껀데 100번을 넣을껍니다. 이 중 80번까지는 일반사용자, 90번까지는 운영자, 99번까지는 관리자로 등록이 될 것임
- 실행시 MySQL에 데이터가 잘 저장되었음을 확인할 수 있음
- MemberMapper.xml 코드 작성
- MemberMapper.xml의 read와 #{userid}가 MemberMapper.java에서 사용되는 것임
- collection을 쓴 것은 1 대 N의 관계이기 때문임
- 테스트 확인해보니 잘 되는걸 확인할 수 있음