본문 바로가기

Programming/>> Spring18

[Spring] Spring기반 웹 사이트 템플릿 만들기 - 3. Spring Security 리소스 DB 연동 이 내용을 간략하게 저장하자면 configure 메소드내 authorizeRequests의 설정을 DB에 넣어버린다고 보면 될 듯. URL에 설정된 Role정보에 따라 접근을 허가할지 말지를 판단하는 기능을 넣기 위해 FilterSecurityInterceptor 설정을 한다. Egov에서는 메소드나 AOP 정보도 DB에 저장하여 연동할 수 있지만 그 수준은 일반 사용자가 제어할 수 있는 범위는 아니라고 생각하기 때문에 굳이 내 프로젝트에서는 할 이유가 없다고 생각한다. FilterSecurityIntercepter는 SecurityFilterChain중 가장 마지막에 오고 인증이 완료된 뒤 자원에 대한 접근 여부를 판단하게 된다. @Bean public FilterSecurityInterceptor f.. 2018. 1. 23.
[Spring] Spring기반 웹 사이트 템플릿 만들기 - 3. Spring Security 설정 Spring Security 설정을 하는데 이번에 내가 포스팅 하는 설정은 전자정부프레임워크의 Spring Security에서 전자정부프레임워크를 빼서 커스터마이징 한 것이다. 전 회사에서 사용자 테이블이 두 개 였던지라 EGOV에서 지원하는 SQL String방식으로는 사용할 수가 없어서 소스 뜯어 고쳐가면서 했던 건데 그때 포스팅을 남기려다가 귀찮고 복잡해서 안했는데 이번에 다시 적용하면서 공부하고 기록을 남겨본다. 이번 기회에 공부한답시고 찾아보면서 알게 된건데 어차피 Spring Security 설정에 정해진 왕도는 없었다. 잘 짜여진게 있다면 그걸 따라서 정리하는 것도 나쁘지 않은듯. 일단 pom.xml부터.. 별거 없다 Spring security 버전은 4.2.3. 4.2.3.RELEASE .. 2017. 9. 2.
[Spring] Spring기반 웹 사이트 템플릿 만들기 - 2. HSQLDB + Hibernate 5.x + 일단 이번 포스팅에서 Hibernate Xml 설정에 대한 것은 하지 않을 예정이다. Xml설정이 필요한 경우에는 이전에 내가 쓴 포스팅을 참조하는게 좋을 것 같다... 매번 외부에서 노트북 or 개인 PC에서 왔다갔다 하며 개발을 하다보니까 DB연결하는게 참 번거로웠다. 그래서 Tomcat 실행시 같이 메모리에 올라가는 HSQLDB를 사용하기로 했다. EmbeddedDatabaseBuilder를 이용하여 HSQLDB를 실행할 수 있도록 하고, 실행시 필요한 Table이나 데이터를 자동으로 생성하기 위해 sql파일 경로도 지정한다. HSQLDB말고 H2나 Derby도 가능하다. @Configuration public class DataSourceConfig { @Bean public DataSourc.. 2017. 7. 16.
[Spring] Spring기반 웹 사이트 템플릿 만들기 - 1. Xml설정을 Java Config로 변경 기존 프로젝트 소스를 이어서 작업하게 되는데, 기존에는 xml설정으로 했다면 이번에는 Java config로 context설정을 하려고 한다. 물론 소스는 두 방식 다 작성에서 올릴 예정. 일단 내가 context 설정들이 위치하는 디렉토리는 아래와 같이 두었다 기존 xml 설정때는 web.xml에서 context 설정 루트를 아래와 같이 지정했었다. contextConfigLocation classpath:spring/context-*.xml org.springframework.web.context.ContextLoaderListener appServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation spring/con.. 2017. 7. 9.
[Spring] Spring기반 웹 사이트 템플릿 만들기 - 시작 여자개발자모임에서 모여서 각자 코딩하기라는 것을 모집하길래 참여했다. 이직하고나서는 출퇴근이 4시간이나 걸리다보니 피곤하다는 핑계로 집에와서 저녁먹고 씻고 조금 놀다가 바로 자고 하다보니 전혀 자기계발이 이루어지지 않는 상황이었다. 원래 강남으로 회사를 옮긴 이유가 스터디같은 것 좀 다니려고 한건데..... 스터디는 개뿔 7시에 퇴근해서 집에가기도 벅찬 현실 아무튼 그래서 python이랑 django를 공부해볼까하다가 작년에 만들다가 때려친 Spring의 주요 기능을 복습할겸 만들려고 했던 웹 사이트 템플릿 만드는 걸 다시 이어서 해보려고 한다. 그래서 기존에 만들어서 github에 올려두었던 소스를 리뉴얼 후 시작하려고 한다.1. pom.xml에 등록한 maven 라이브러리의 버전을 가능한 최신 버전으.. 2017. 7. 8.
[Spring] JsonView 리턴 Spring에서 json 응답을 흔히 쓰는 방법은 jackson 라이브러리를 쓰는 방법인데, pom.xml com.fasterxml.jackson.core jackson-databind 2.8.3 servlet-context.xml Controller @ResponseBody @RequestMapping(value = "/return.json", method = RequestMethod.GET) public HashMap json(Locale locale, Model model) { HashMap map = new HashMap(); HashMap map2 = new HashMap(); int[] arr = new int[5]; for(int i=0; i 2016. 9. 28.