content: package com.cx.bank.mhg.bdemo.config;
  
  import com.cx.bank.mhg.bdemo.Utils.MD5Utils;
  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.method.configuration.EnableGlobalMethodSecurity;
  import org.springframework.security.config.annotation.web.builders.HttpSecurity;
  import org.springframework.security.config.annotation.web.builders.WebSecurity;
  import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
  import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
  import org.springframework.security.crypto.password.PasswordEncoder;
  
  /**
   * @author jitwxs
   * @date 2018/3/29 16:57
   */
  @Configuration
  @EnableWebSecurity
  @EnableGlobalMethodSecurity(prePostEnabled = true)
  public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
      @Autowired
      private CustomUserDetailsService userDetailsService;
  
      @Override
      protected void configure(AuthenticationManagerBuilder auth) throws Exception {
          auth.userDetailsService(userDetailsService).passwordEncoder(new PasswordEncoder() {
              @Override
              public String encode(CharSequence charSequence) {
                  return charSequence.toString();
              }
  
              @Override
              public boolean matches(CharSequence charSequence, String s) {
                  return s.equals(MD5Utils.md5(charSequence.toString()));
              }
          });
      }
  
      @Override
      protected void configure(HttpSecurity http) throws Exception {
          http.authorizeRequests()
                  // 如果有允许匿名的url，填在下面
                  .antMatchers("/**").permitAll()
                  .anyRequest().authenticated()
                  .and()
                  // 设置登陆页
                  .formLogin().loginPage("/login")
                  // 设置登陆成功页
                  .defaultSuccessUrl("/").permitAll()
                  // 自定义登陆用户名和密码参数，默认为username和password
  //                .usernameParameter("username")
  //                .passwordParameter("password")
                  .and()
                  .logout().permitAll();
  
          // 关闭CSRF跨域
          http.csrf().disable();
      }
  
      @Override
      public void configure(WebSecurity web) throws Exception {
          // 设置拦截忽略文件夹，可以对静态资源放行
          web.ignoring().antMatchers("**/static/**", "static/js/**");
      }
  }