[스프링] 스프링 Remoting과 웹 보안
본 블로그에서는 스프링 Remoting과 웹 보안에 대해 알아보겠습니다.
스프링 Remoting
스프링 Remoting은 원격지에서 메소드를 호출할 수 있도록 해주는 스프링의 기능입니다. 서버와 클라이언트 사이의 통신을 투명하게 처리하여, 마치 로컬 메소드를 호출하는 것처럼 사용할 수 있습니다.
주요 특징
- RMI, Hessian, Burlap, HTTP invoker 등 다양한 프로토콜을 지원합니다.
- 클라이언트가 서버에 의존하지 않고, 스프링을 이용하여 투명하게 처리합니다.
예제 코드
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과 웹 보안에 대한 간략한 소개를 마치겠습니다. 더 많은 정보를 원하신다면 스프링 공식 문서를 참고하시기 바랍니다.