인증(Authentication) - 주체의 신원을 주체가 주장하는 신원과 대비해 검증을 하는 과정
주체(Principal) - 사용자, 기기, 시스템이 될 수 있지만 주로 사용자를 말함
크리덴셜(Credential) - 주체가 인증받기 위해 제시해야 하는 신원 증명 정보. 주체가 사용자일 경우 비밀번호
권한부여(Authorization) - 인증된 사용자에게 권한들을 승인하는 과정, 항상 인증 과정을 거친 후에 수행되어야 함
접근 제어 (access control) - 애플리케이션 리소스에 대한 접근을 제어
프로젝트를 Tomcat 이나 다른 WAS 를 통해 구동하게 되면 SQLite DB 파일이 생성되게 됩니다. 이 상태로 데이터를 조작하다가 다시 시작하게 되면 DB 가 초기화 되게 됩니다.
첫번째 프로젝트를 구동후에는 다음과 같이 설정을 해야 데이터가 유지되게 됩니다.
/src/main/resources/META-INF/persistence.xml
위에서 처럼 hibernate.hbm2ddl.auto 의 값을 "update" 로 변경하게 되면 현재 있는 DB 를 수정하게 됩니다. "create" 로 값이 설정되어 있으면 실행할 때 마다 새로운 DB 를 생성하게 됩니다. "validate" 는 정상적으로 동작을 하지 않는 것 같아... "update" 를 권장합니다.
Welcome to Spring Roo. For assistance press TAB or type "hint" then hit ENTER. roo>
dt_socket 6889 번 포트로 리스닝 중이라는 멘트와 함께 Roo Shell 이 실행되었습니다.
아래의 roo script 를 이용하여 프로젝트를 구성합니다.
project --topLevelPackage kr.co.vicki.roo.sample.rentshop
persistence setup --provider HIBERNATE --database HYPERSONIC_IN_MEMORY
entity --class ~.domain.Car --testAutomatically
field string --fieldName modelName --notNull
field number --fieldName displacement --type java.lang.Integer --notNull 0
entity --class ~.domain.Customer --testAutomatically
field string --fieldName name --notNull
entity --class ~.domain.Rent --testAutomatically
field reference --fieldName car --type ~.domain.Car --notNull
field number --fieldName period --type java.lang.Integer --notNull 0
2. STS 디버깅 환경 설정
이전 포스트에서 설정한 포트를 이용하여 Remote Java Application 설정을 구성합니다.
3. Web MVC Controller Add-on 디버깅
프로젝트도 만들었고 디버깅할 수 있는 환경도 구성되었습니다.
org.springframework.roo.addon.web.mvc.controller 프로젝트의 아래 소스코드를 열어서 중단점을 설정합니다.
/org.springframework.roo.addon.web.mvc.controller/src/main/java/org/springframework/roo/addon/web/mvc/controller/ControllerOperationsImpl.java