[스프링] 스프링 Remoting과 웹 보안

본 블로그에서는 스프링 Remoting웹 보안에 대해 알아보겠습니다.

스프링 Remoting

스프링 Remoting은 원격지에서 메소드를 호출할 수 있도록 해주는 스프링의 기능입니다. 서버와 클라이언트 사이의 통신을 투명하게 처리하여, 마치 로컬 메소드를 호출하는 것처럼 사용할 수 있습니다.

주요 특징

예제 코드

public interface HelloService {
    String sayHello(String name);
}

...

<bean id="helloService" class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean">
    <property name="serviceUrl" value="http://localhost:8080/helloService"/>
    <property name="serviceInterface" value="com.example.HelloService"/>
</bean>

웹 보안

웹 보안은 웹 애플리케이션에서 사용자 및 자원을 보호하는 것을 의미합니다.

주요 기능

예제 코드

@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .antMatchers("/", "/home").permitAll()
                .anyRequest().authenticated()
                .and()
            .formLogin()
                .loginPage("/login")
                .permitAll()
                .and()
            .logout()
                .permitAll();
    }

    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth
            .inMemoryAuthentication()
                .withUser("user").password("{noop}password").roles("USER");
    }
}

위에서는 WebSecurityConfigurerAdapter를 상속받아 웹 보안을 설정하는 예제 코드를 보여줍니다.

이상으로 스프링 Remoting웹 보안에 대한 간략한 소개를 마치겠습니다. 더 많은 정보를 원하신다면 스프링 공식 문서를 참고하시기 바랍니다.