Я пытаюсь выполнить авторизацию с помощью Spring Security для моего проекта Spring MVC (недавно обновленного до 4.2.6.RELEASE
). Поэтому я добавил эти dependecies:Spring MVC: Spring Security 4 не перехватывает
<dependency org="org.springframework.security" name="spring-security-config" rev="4.1.0.RELEASE" />
<dependency org="org.springframework.security" name="spring-security-core" rev="4.1.0.RELEASE" />
<dependency org="org.springframework.security" name="spring-security-crypto" rev="4.1.0.RELEASE" />
<dependency org="org.springframework.security" name="spring-security-taglibs" rev="4.1.0.RELEASE" />
<dependency org="org.springframework.security" name="spring-security-web" rev="4.1.0.RELEASE" />
Из того, что я понял, мне нужно только создать эти классы:
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
@Configuration
@EnableWebSecurity
public class SecurityConfig 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("password").roles("USER");
}
}
и
import org.springframework.security.web.context.AbstractSecurityWebApplicationInitializer;
public class SecurityWebInitializer extends AbstractSecurityWebApplicationInitializer {
}
Я хотел бы ожидать, что все URL, заблокированы прямо сейчас для пользователей, которые не вошли в систему, кроме «/», «/ home», «/ login» и «/ logout». В действительности ничего не блокируется, и мой webapp полностью доступен. Поэтому я должен ошибаться где-то ...
Действительно оцените, можете ли вы дать мне подсказку здесь о том, что может быть с моей проблемой. Спасибо!