본문 바로가기

전체 글

(41)
Class RequestContextHolder
[스프링 시큐리티] 로그인과 로그아웃 처리(3) 1. 커스텀 로그인 페이지 로그인페이지를 다시 제작해서 사용해야 한다. 이를 이용하는 방식은 접근 제한 페이지와 유사하게 직접 특정한 URI를 지정할 수 있다. login-page 속성의 URI는 반드시 GET 방식으로 접근하는 URI를 지정한다. com.grindman.web.controller 패키지의 CommonController에 '/customLogin'에 해당하는 메소드를 추가하자. @GetMapping("/customLogin") public void loginInput(String error, String logout, Model model) { System.out.println("error : " + error); System.out.println("logout : " + logout);..
[스프링 시큐리티] 로그인과 로그아웃 처리(2) 1. 여러 권한을 가지는 사용자 설정 정상적으로 로그인이 처리되는 것을 확인했다면 '/sample/admin'을 처리하도록 한다. '/sample/admin'은 'ROLE_ADMIN'이라는 권한을 가진 사용자가 접근할 수 있도록 지정하는데 사용자는 'ROLE_ADMIN'이라는 권한을 가진 사용자가 접근할 수 있도록 지정하는데 사용자는 'ROLE_ADMIN'과 'ROLE_MEMBER'라는 2개의 권한을 가지도록 지정한다. 새롭게 추가된 은 '/sample/admin'에 대한 접근을 설정한다. 에 추가된 admin 사용자는 'ROLE_MEMBER'와 'ROLE_ADMIN'이라는 2개의 권한을 가지도록 설정한다. Admin 계정을 가진 사용자는 '/sample/member'와 '/sample/admin'모두에..
[스프링 시큐리티] 로그인과 로그아웃 처리(1) 1. 접근제한 설정 security-context.xml에 아래와 같이 접근 제한을 설정한다. 특정한 URI에 접근할 때 인터셉터를 이용해서 접근을 제한하는 설정은 을 이용한다. 은 pattern이라는 속성과 access라는 속성을 지정해야만 한다. pattern 속성은 말 그대로 URI의 패턴을 의미하고, access의 경우는 권한을 체크한다. 위의 경우 '/sample/member'라는 URI는 'ROLE_MEMBER'라는 권한이 있는 사용자만이 접근할 수 있다. access의 속성값으로 사용되는 문자열은 1) 표현식과 2) 권한명을 의미하는 문자열을 이용할 수 있다. 는 기본 설정이 표현식을 이용하는 것이다. 만일 단순한 문자열만을 이용하고 싶은 경우에는 use-expressions="false"를..
Interface HttpServletRequest httpServletRequest. 설명이 정말 깔끔해서 맘에 든다. The servlet container creates an HttpServletRequest object and passes it as an argument to the servlet's service methods (doGet, doPost, etc).
Class DispatcherServlet .
Spring Web Security 설정 1. pom.xml의 일부 org.springframework.security spring-security-web 5.3.5.RELEASE org.springframework.security spring-security-config 5.3.5.RELEASE org.springframework.security spring-security-core 5.3.5.RELEASE org.springframework.security spring-security-taglibs 5.3.5.RELEASE 2. security-context.xml 생성 2-1. Spring Bean Configuration File을 통해 생성 2-2. 네임스페이스에서 security 항목 체크 주의할점은 요놈을 요렇게 바꿔줘야한다. 5...
인증과 권한 부여 '인증(Authentication)'은 쉽게 말해서 '자신을 증명하는 것'이다. 다시 말해서 자기 스스로가 무언가 자신을 증명할 만한 자료를 제시하는 것이다. 반면에 '권한 부여(Authorization)'는 남에 의해서 자격이 부여된다는 점에서 차이가 있다. 스프링 시큐리티에서 가장 중요한 역할을 하는 존재가 인증을 담당하는 AuthenticationManager(인증 매니저)라는 존재이다. AuthenticationManager는 다양한 방식의 인증을 처리할 수 있도록 설계되어 있다. ProviderManager는 인증에 대한 처리를 AuthenticationProvider라는 타입의 객체를 이용해서 처리를 위임한다. AuthenticationProvider(인증 제공자)는 실제 인증 작업을 진행한다..