programming/spring_security 25

[Spring Security] MySQL 테이블 만들기 insert, Select하기

[Spring Security] MySQL 테이블 만들기 insert, Select하기MySQL Workbench에 접속합니다. jobtoydb에 접속합니다. 새로운 테이블을 만듭니다. 테이블명과 설명, 컬럼을 만들고 Apply를 누릅니다. 테이블을 만들기 위한 SQL문이 생성되었습니다. Apply를 눌러서 테이블을 만듭니다. 테이블이 생성되었습니다. select 쿼리를 실행해 봅니다. testtb를 선택하고 오른쪽 마우스버튼을 누르면 SelectRows - Limit 1000이란 메뉴가 보입니다. 클릭하면 우측에 탭이 생기고 select SQL문이 보입니다. 아래쪽에는 실행 결과가 보입니다. 현재로서는 입력된 data가 없습니다. NULL이라고 표시되어 있는데를 마우스로 선택하고 값을 넣어봅니다. co..

[Spring Security] 페이지 이동에 대해서

[Spring Security] 페이지 이동에 대해서 1. 파라미터 전달하기 sample3을 처음 실행시키면 / 로 접속합니다. 로그인 페이지로 이동하려면 를 누르는데 이동할 페이지의 주소는 main.jsp에서 다음처럼 a 태그에 '로그인' 이란 텍스트가 감싸있어서 웹페이지에서 로그인이라고 보이는 것입니다. 이동할 주소는 a 태그의 경우 href란 속성으로 이동합니다. href 속성값으로 '/signin/main' 으로 되어 있습니다.jstl 문법으로 c:url 이란 것이 있습니다. 이건 url을 생성시켜주는 일을 합니다. c:url을 이용해서 몇개의 파라미터를 넘겨야 한다면 다음과 같은 방식을 쓰면 됩니다. c:set 이란 변수를 선언하는 것이라고 보면 됩니다. user_id란 jstl 변수명에 use..

[Spring Security] DB에서 로그인 정보 가져오기

[Spring Security] DB에서 로그인 정보 가져오기 사용자는 회원가입을 통해서 로그인 아이디와 패스워드를 홈페이지의 Database에 저장하게 됩니다. 그리고 로그인을 통해서 홈페이지의 접속 권한을 가지게 됩니다. Database를 이용하는 방법에 대해서 설명합니다. Database는 MySQL을 이용하고 JSP에서 DB 접근을 하려면 JDBC를 이용하게 됩니다. 여기서는 XML을 사용하여 SQL문에 대한 객체 매핑을 지원하는 Persistence Framework인 MyBatis를 사용합니다. MyBatis는 JDBC에서 처리하는 코드의 SQL을 XML을 통해서 파라미터 설정과 결과 매핑을 통해서 이용할 수 있도록 해줍니다. Database를 설정하는 applicationContext-dao..

[Spring Security] 페이지 로딩에 대해서

[Spring Security] 페이지 로딩에 대해서 1. 페이지 요청하기 sample2 웹프로젝트를 실행시킵니다. 그러면 다음처럼 첫 페이지가 뜨게 됩니다. Hello world! 페이지는 웹브러우저에서 웹서버의 / 주소를 요청하면 controller 단에 / 주소와 매핑되어 있는 함수가 실행되어 return 값으로 jsp 파일을 보여주는 것입니다. home 함수에서는 현재시간을 model에 serverTime이라는 key값으로 저장해두고 return 값으로 home을 두어서 /src/main/webapp/WEB-INF/views 디렉토리의 home.jsp를 가져옵니다. 2. jsp 파일 만들기 home.jsp는 다음과 같은 구조를 가집니다. 1) jsp 파일을 열면 맨 위에 이 페이지에 대해서 선언을..

[Spring Security] STS로 Spring Security 시작하기

[Spring Security] STS로 Spring Security 시작하기 Spring Tool Suite (https://spring.io/tools)에서는 Spring의 기본 템플릿을 제공하고 있습니다. Spring Security로 작업을 하다 보니까 템플릿 만드는데 어려움이 있었는데 STS를 사용하면서 개발이 조금은 쉬워진 것 같습니다. 첨부파일은 게시물에서 만든 프로젝트입니다. 참고하시기 바랍니다. 1. sample2 웹프로젝트를 만듭니다. File > New > Other > Spring에서 Spring Legacy Project를 선택합니다. Project name을 sample2로 넣고, Templates은 Spring MVC Project를 선택합니다. com.jobtoy.sample..

[spring security] 파일 다운로드

[spring security] 파일 다운로드 보안 또는 파일중복을 방지하려고 파일을 업로드 할 때 이름을 시스템이름으로 변경하여 저장합니다. 그런데 파일 위치는 보통 웹서버에 두지 않고 외부 접근 권한이 없는 폴더에 넣습니다. 방법중에 하나입니다. 그림.png를 웹페이지에 잘 보여줍니다. 시스템파일명이 필요하다면 getPublicFile에서 db에 접근하여 파일명을 조회해서 가져오면 될 것입니다. * /src/main/resources/message.properties file.getUploadFilePath = c:/files * /src/main/java/HomeController.java @Autowired protected MessageSourceAccessor messageBundle; @Re..

[spring security] 이용자 정보 가져오기 설정하기

[spring security] 이용자 정보 가져오기 설정하기 Security에서 로그인을 하면 com.swick.service.impl.UserDetailsServiceImpl의 loadUserByUsername(...) 에서 이용자정보를 DB에서 가지고와서 org.springframework.security.core.userdetails.UserDetails에 저장합니다. 여기서는 로그인 유저 정보 저장을 위해서 com.swick.service.impl.UserDetailsImpl에서 LibroCustomer를 상속받아서 set, get을 선언해두었습니다.그리고 UserDetailsServiceImpl에서 DB조회된 값을 set해주었습니다. java소스에서 로그인 유저 정보를 가져올 때 Securit..