溫馨提示×

SpringMVC怎么集成SpringSecurity使用

小億
142
2024-04-18 15:18:14
欄目: 編程語言

要在Spring MVC中集成Spring Security,需要按照以下步驟進(jìn)行操作:

  1. 添加Spring Security依賴 首先需要在項(xiàng)目的pom.xml文件中添加Spring Security的依賴,例如:
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-web</artifactId>
    <version>5.4.2</version>
</dependency>
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-config</artifactId>
    <version>5.4.2</version>
</dependency>
  1. 配置Spring Security 在項(xiàng)目中創(chuàng)建一個繼承自WebSecurityConfigurerAdapter的配置類,并在其中配置Spring Security的相關(guān)設(shè)置,例如:
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
                .antMatchers("/admin/**").hasRole("ADMIN")
                .antMatchers("/user/**").hasRole("USER")
                .anyRequest().authenticated()
                .and()
                .formLogin()
                .loginPage("/login")
                .permitAll()
                .and()
                .logout()
                .permitAll();
    }

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.inMemoryAuthentication()
                .withUser("admin").password("{noop}admin123").roles("ADMIN")
                .and()
                .withUser("user").password("{noop}user123").roles("USER");
    }
}
  1. 配置Spring MVC 在Spring MVC的配置類中添加對Spring Security的支持,例如:
@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/login").setViewName("login");
    }

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
    }
}
  1. 創(chuàng)建登錄頁面 在項(xiàng)目中創(chuàng)建一個登錄頁面,例如login.jsp,并在登錄頁面中添加表單來進(jìn)行用戶登錄。

通過以上步驟,就可以在Spring MVC項(xiàng)目中集成Spring Security,實(shí)現(xiàn)用戶認(rèn)證和授權(quán)功能。

0