首页>代码>基于SpringBoot+Vue实现的小区物业管理系统>/em_server/src/main/java/com/kum/config/SecurityConfig.java
package com.kum.config;

import com.kum.filter.AuthenticationLoginFilter;
import com.kum.handler.AuthenticationEntryPointImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.security.authentication.AuthenticationManager;
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.WebSecurityConfigurerAdapter;
import org.springframework.security.config.http.SessionCreationPolicy;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
import org.springframework.web.filter.CorsFilter;

import javax.annotation.Resource;

/**
 * @version V1.0
 * @Package com.kum.config
 * @auhter SunGuangJie
 * @date 2021/2/9-12:15 PM
 */
@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {


    /**
     * 认证失败处理类
     */
    @Autowired
    private AuthenticationEntryPointImpl unauthorizedHandler;


    @Resource
    private UserDetailsService userDetailsService;

    @Bean
    public BCryptPasswordEncoder bCryptPasswordEncoder() {
        return new BCryptPasswordEncoder();
    }

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.userDetailsService(userDetailsService).passwordEncoder(bCryptPasswordEncoder());

    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.csrf().disable();
        http
                .exceptionHandling().authenticationEntryPoint(unauthorizedHandler).and()
                .sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS).and()
                .authorizeRequests()
                .anyRequest().permitAll();
        http.addFilterAfter(new AuthenticationLoginFilter(authenticationManagerBean()), UsernamePasswordAuthenticationFilter.class);
    }

    @Override
    public void configure(WebSecurity web) throws Exception {
        web.ignoring().antMatchers(
                "/system/**/list",
                "/login/**", "/system/user/admin/list/",
                "/system/user/isAdmin");
    }

    @Bean
    @Override
    public AuthenticationManager authenticationManagerBean() throws Exception {
        return super.authenticationManagerBean();
    }

}
最近下载更多
citybird  LV4 11月18日
sodkj123  LV16 10月8日
ma406805131  LV15 5月7日
jsjsjsjsbdbshns  LV1 4月27日
860421  LV3 4月18日
YhXyHx523  LV6 4月13日
denglu123321  LV4 4月11日
dapeng0011  LV15 4月6日
玖零定制问题修复  LV34 4月4日
最近浏览更多
citybird  LV4 11月18日
15953970869  LV6 11月9日
oceanchen  LV14 10月30日
zwn258000 10月24日
暂无贡献等级
charleswang  LV7 10月21日
withyouatdusk  LV2 10月19日
daisys  LV2 10月14日
lqzixi  LV4 10月9日
sodkj123  LV16 10月8日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友