๐Ÿณ
Engineering Wiki
  • ๐Ÿ–๏ธWelcome
  • ๐Ÿ“š๋ฐฑ์—”๋“œ ๋กœ๋“œ๋งต
    • ๋ฉ”์ธํŽ˜์ด์ง€
  • Spring
    • spring boot
      • security
        • security ๊ธฐ๋ณธ
        • filter
        • JWT
      • ์Šคํ”„๋ง ํ•ต์‹ฌ ์›๋ฆฌ
        • แ„€แ…ขแ†จแ„Žแ…ฆแ„Œแ…ตแ„’แ…ฃแ†ผ แ„‰แ…ฅแ†ฏแ„€แ…จแ„‹แ…ช แ„‰แ…ณแ„‘แ…ณแ„…แ…ตแ†ผ
        • ์Šคํ”„๋งIoC์ปจํ…Œ์ด๋„ˆ์™€ bean
      • IntelliJ
        • Spring boot ์ƒ์„ฑ ๋ฐ git clone
        • Spring boot ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ
      • vscode
        • Spring boot ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ
      • scheduling
        • ์Šค์ผ€์ฅด๋ง ์„ค์ •์‹œ ์—๋Ÿฌ ์ƒํ™ฉ
      • paging
      • ์—๋Ÿฌ ํ•ธ๋“ค๋ง
        • ErrorCode์ƒ์„ฑ ๋ฐ ExceptionHandler๋กœ ์—๋Ÿฌ์ฒ˜๋ฆฌ
        • Security & JWT ์—๋Ÿฌ์ฒ˜๋ฆฌ
        • spring cloud sleuth
      • ๋กœ๊ทธ ํ•ธ๋“ค๋ง
        • logback
        • HttpRequestServlet ๋ž˜ํ•‘
      • gradle
        • hidetake.ssh ํ‚คํŒŒ์ผ ์„ค์ •
      • maven
        • maven tomcat
      • lib
        • lombok
        • tiles
      • API ๋ถ€ํ•˜ํ…Œ์ŠคํŠธ ํˆด K6
      • JPA
        • Mybatis / JPA ์ฐจ์ด
      • Mybatis
    • spring batch
      • batch
        • Spring Batch ๊ธฐ๋ณธ๊ฐœ๋…
  • FRONT
    • vue
      • Spring boot & Vue.js ์„ค์น˜ ๋ฐ ์—ฐ๋™
      • Spring boot & Vue.js ์›น๊ฐœ๋ฐœ ์„ธํŒ…
      • vue์˜ ๊ธฐ๋ณธ๊ตฌ์กฐ ์‹คํ–‰์ˆœ์„œ
      • SPA ์ดํ•ด
  • JAVA
    • ํ™˜๊ฒฝ์„ค์ •
    • ์ž๋ฐ”์˜ ์ •์„
      • generics
  • DATABASE
    • mongoDB
      • ์ •๊ทœํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•ด ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„์—†์ด ๊ฒ€์ƒ‰
      • mongoDB export import
      • MAC ์„ค์น˜ ๋ฐ ์‹คํ–‰
    • MYSQL
      • dbeaver ๋ฐ์ดํ„ฐ ๋‚ด๋ณด๋‚ด๊ธฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
      • [์—๋Ÿฌ] ์Šคํ”„๋ง mysql 8 ์—ฐ๊ฒฐ ์—๋Ÿฌ
      • MAC M1 mysql ์„ค์น˜
      • GROUP BY ์ •๋ฆฌ
      • ํ…Œ์ด๋ธ” ๋ช…์„ธ์„œ ๋น ๋ฅด๊ฒŒ ์ƒ์„ฑ
  • AWS
    • IAM
    • ์„ค์น˜&๋ช…๋ น์–ด
      • eb ์„ค์น˜ & ๋ช…๋ น์–ด
      • CLI ์„ค์น˜ & ๋ช…๋ น์–ด
    • sam
      • SAM ๊ฐœ๋…
      • SAM Lambda S3์ด๋ฒคํŠธ ํŠธ๋ฆฌ๊ฑฐ, MongoDB ์ ‘๊ทผ์ฝ”๋“œ
      • SAM intellij ๋ฐฐํฌ
    • peering
      • mongodb atlas AWS vpc peering
      • MongoDB & Lambda VPC peering ,endpoint์„ค์ •
    • ์‰˜์Šคํฌ๋ฆฝํŠธ
      • ๋„์ปค ์ปจํ…Œ์ด๋„ˆ ์ค‘๋‹จ์‹œ ์Šฌ๋ž™ ๋ฆฌํฌํŒ… ๋ฐ ์žฌ์‹คํ–‰
  • DOCKER
    • ์„ค์น˜&๋ช…๋ น์–ด
      • Docker ๊ธฐ์ดˆ
      • Docker Container ์œ ์šฉํ•œ ๋ช…๋ น์–ด
    • MAC๊ด€๋ จ ๋ฌธ์ œ
      • ์ด๋ฏธ์ง€ ๋นŒ๋“œ ๊ด€๋ จ ๋ฌธ์ œ์ƒํ™ฉ
      • MAC M1 ๋„์ปค ์‹คํ–‰ ์›๋ฆฌ
      • [์—๋Ÿฌ] docker: Error response from daemon: Mounts denied:
  • ELK
    • ์„ธํŒ…
      • ๋กœ๋“œ๋ฒจ๋Ÿฐ์„œ์— logstash ์„ธํŒ…
      • Elastic Beanstalk + Elastic Cloud + docker ์„ค์ •
      • ElasticCloud + filebeat + logstash + docker ์„ค์ • (๋ฒ„์ „8.5.0)
      • ELK ์ ์šฉ ์‚ฌ๋ก€, ๋กœ๊ทธ์ˆ˜์ง‘(filebeat/logstash) ์„ค๋ช…
    • logstash
      • Logstash๋Š” ๋กœ๊ทธ๋ฅผ ์™œ message๋ผ๋Š” field๋กœ ์ €์žฅํ• ๊นŒ?
      • logstash health check
    • filebeat
      • filebeat ์•„ํ‚คํ…์ณ
  • unity
    • ์œ ๋‹ˆํ‹ฐ ๊ธฐ๋ณธ
      • ์บ๋ฆญํ„ฐ ์ด๋™
      • ์นด๋ฉ”๋ผ
  • WORDPRESS
    • ์›Œ๋“œํ”„๋ ˆ์Šค ๊ธฐ๋ณธ
  • git
    • GIT ๊ฐœ๋…
      • ๋ผ์ดํ”„์‚ฌ์ดํด
    • ๋ช…๋ น์–ด
      • defult ๋ธŒ๋žœ์น˜ main ์œผ๋กœ ๋ณ€๊ฒฝ
      • ์ฒซ๋ฒˆ์งธ ์ปค๋ฐ‹ ์‚ญ์ œ(๋ธŒ๋Ÿฐ์น˜์‚ญ์ œ) ํ›„ ์›๊ฒฉ์ €์žฅ์†Œ์— ๊ฐ•์ œ push
      • git ์›๊ฒฉ์ €์žฅ์†Œ์— remote ๋ฐฉ๋ฒ•(vscode๋กœ ์ง„ํ–‰)
      • git gh
      • git reset
      • git rebase
  • MAC
    • ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ธํŒ…
      • ๋งฅ ์ดˆ๊ธฐ ๊ฐœ๋ฐœ์„ธํŒ…
    • ์œ ์šฉํ•œ๋‚ด์šฉ
      • app store ๋‹ค์šด๋กœ๋“œ ์—†์ด ์›น์—์„œ Xcode ๋‹ค์šด
      • ubuntu iso ์„ค์น˜ usb ๋งŒ๋“ค๊ธฐ
      • ์‘์šฉํ”„๋กœ๊ทธ๋žจ ์—๋Ÿฌ
      • ์ž ๊น€ ํŒŒ์ผ
  • CS
    • data structure & algorism
      • ์ž๋ฃŒ๊ตฌ์กฐ์˜ ์ •์˜ ๋ฐ ์ข…๋ฅ˜
  • ๋ฐฉํ†ต๋Œ€
    • ๋Œ€ํ•™์ˆ˜ํ•™์˜ ์ดํ•ด
      • 1๊ฐ•. ์ˆ˜ํ•™์˜ ๊ธฐ์ดˆ(1)
    • ๋”ฅ๋Ÿฌ๋‹
      • 1๊ฐ•.์‹ ๊ฒฝ๋ง์˜ ๊ฐœ์š”
  • NODE
    • ๊ฐœ๋ฐœ๊ธฐ๋ก
      • ์ธ์Šคํƒ€๊ทธ๋žจ API ํ™œ์šฉํ•˜์—ฌ ๊ฒŒ์‹œ๋ฌผ ์Šฌ๋ž™์— ๋ฆฌํฌํŒ…
Powered by GitBook
On this page
  1. Spring
  2. spring boot
  3. security

filter

๊ธฐ๋ณธ์ ์ธ ํ•„ํ„ฐ๊ตฌํ˜„์— ๊ด€ํ•œ ๋‚ด์šฉ

์•„๋ž˜์ฒ˜๋Ÿผ ํ•„ํ„ฐ๋ฅผ ๊ตฌํ˜„ํ•˜๋ฉด doFilter ๋ฅผ ์˜ค๋ฒ„๋ผ์ด๋“œํ•œ๋‹ค.

ํ•„ํ„ฐ์— ๊ฑธ๋ ค์„œ ํ”„๋กœ๊ทธ๋žจ์ด ๋๋‚˜์ง€ ์•Š๋„๋ก filterChain.doFilter ๋กœ ๋ฆฌํ€˜์ŠคํŠธ์™€ ๋ฆฌ์ŠคํŽ€์Šค๋ฅผ ๋„˜๊ฒจ์ฃผ์–ด์•ผํ•œ๋‹ค.

import javax.servlet.*;
import java.io.IOException;

public class myfilter implements Filter {

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) 
            throws IOException, ServletException {
        System.out.println("filter");
        filterChain.doFilter(servletRequest,servletResponse);
    }
}

ํ•ด๋‹น ํ•„ํ„ฐ๋ฅผ ์‹œํ๋ฆฌํ‹ฐ์—๋„ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๋“ฑ๋กํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ

@Bean
SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
   return http
         .addFilterBefore(new myfilter(), BasicAuthenticationFilter.class)
         //ํ•„ํ„ฐ ๋“ฑ๋กํ•˜์˜€์Œ, BasicAuthenticationFilter๋ณด๋‹ค ๋จผ์ € ๋™์ž‘ํ•˜๋„๋ก ์„ค์ •ํ•œ๊ฒƒ์ž„

๋”ฐ๋กœ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด์„œ ํ•„ํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

์•„๋ž˜์ฒ˜๋Ÿผ ํ•„ํ„ฐ์˜ ์ˆœ์„œ๋ฅผ ์ •ํ•˜์—ฌ ์—ฌ๋Ÿฌ๊ฐœ๋กœ ๋“ฑ๋ก์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

@Configuration
public class FilterConfig {

    @Bean
    public FilterRegistrationBean<myfilter> filter(){
        FilterRegistrationBean<myfilter> bean = new FilterRegistrationBean<>(new myfilter());
        bean.addUrlPatterns("/*");
        bean.setOrder(0); //๋‚ฎ์€ ๋ฒˆํ˜ธ๊ฐ€ ํ•„ํ„ฐ์ค‘์—์„œ ๊ฐ€์žฅ๋จผ์ € ์‹คํ–‰๋จ
        return bean;
    }
}

๋‹ค๋งŒ, FilterConfig๋Š” ์‹œํ๋ฆฌํ‹ฐ์— ๊ฑด ํ•„ํ„ฐ๋ณด๋‹ค ์ดํ›„์— ์‹คํ–‰๋œ๋‹ค.

์›๋ž˜ ์ผ๋ฐ˜์ ์ธ ์›นํ™˜๊ฒฝ์—์„œ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด DispatcherServlet์ด ์š”์ฒญ์„ ๋ฐ›๊ธฐ ์ด์ „์— ์„œ๋ธ”๋ฆฟ ํ•„ํ„ฐ๋ฅผ ๊ฑฐ์น˜๊ฒŒ ๋œ๋‹ค. ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ๋„ ์„œ๋ธ”๋ฆฟ ํ•„ํ„ฐ๋กœ ์ž‘๋™ํ•˜์—ฌ ์ธ์ฆ,๊ถŒํ•œ์ฒ˜๋ฆฌ๋ฅผ ์ง„ํ–‰ํ•œ๋‹ค.

์‹œํ๋ฆฌํ‹ฐ์™€ ๊ด€๋ จํ•œ ์„œ๋ธ”๋ฆฟ ํ•„ํ„ฐ๋Š” ์‹ค์ œ๋กœ ์—ฐ๊ฒฐ๋œ ์—ฌ๋Ÿฌ ํ•„ํ„ฐ๋“ค๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ์–ด ์ด๋Ÿฐ ๋ชจ์Šต๋•Œ๋ฌธ์— ์ฒด์ธ์ด๋ผ๋Š” ํ‘œํ˜„์„ ์“ด๋‹ค. ํ•ด๋‹น ํ•„ํ„ฐ์˜ ์—ญํ• ๊ณผ ํ๋ฆ„์„ ์•Œ์•„์•ผ ํ•„ํ„ฐ๋ฅผ ์ปค์Šคํ„ฐ ๋งˆ์ด์ง• ๊ฐ€๋Šฅํ•˜๋‹ค.

Previoussecurity ๊ธฐ๋ณธNextJWT

Last updated 2 years ago

SecurityFilterChain ์˜ ๊ตฌ์กฐ

https://siyoon210.tistory.com/32