Spring Boot+Spring Security进行权限控制

Spring Boot+Spring Security进行权限控制_第1张图片
2a11ebcd6469855609c925bef1a6a054.png

Spring Security简介:
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。
说人话:Spring Security为项目提供安全控制、权限控制、访问权限控制等。其他类似框架有Apache Shiro等

本文代码基于《Spring Inuti搭建Spring Boot项目 》
一、添加依赖


   
  org.springframework.boot   
  spring-boot-starter-security

   
  org.springframework.security   
  spring-security-web   
  4.2.1.RELEASE

二、创建Spring Security的配置类SpringSecurityConfig

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;
/** 
* Created by 从小就坏 on 2016/12/27. 
*/
@Configuration
@EnableWebSecurity
public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {    @Override    
protected void configure(HttpSecurity http) throws Exception {       
 http      
  //禁用CSRF保护
  .csrf().disable()          
  .authorizeRequests()  
   //任何访问都必须授权
  .anyRequest().fullyAuthenticated()
  //配置那些路径可以不用权限访问              
  .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");   
 }
}

添加注解:@EnableWebSecurity开启Spring Security的功能
@EnableWebSecurity的作用实际上是,创建一个Spring Bean,Bean的类型是Filter,名字为springSecurityFilterChain。只要我们保证自定义的SecuirtyConfig类,可以被Spring扫描到,就可以帮助我们创建这个Filter了。

你可能感兴趣的:(Spring Boot+Spring Security进行权限控制)