//package com.zy.asrs.wcs.common.security;
|
//
|
//import com.zy.acs.manager.common.constant.Constants;
|
//import com.zy.acs.manager.common.utils.CommonUtil;
|
//import org.springframework.context.annotation.Bean;
|
//import org.springframework.context.annotation.Configuration;
|
//import org.springframework.http.HttpMethod;
|
//import org.springframework.security.access.AccessDeniedException;
|
//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.configuration.EnableWebSecurity;
|
//import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
|
//import org.springframework.security.config.http.SessionCreationPolicy;
|
//import org.springframework.security.core.AuthenticationException;
|
//import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
//import org.springframework.security.web.AuthenticationEntryPoint;
|
//import org.springframework.security.web.access.AccessDeniedHandler;
|
//import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
|
//import org.springframework.stereotype.Component;
|
//
|
//import javax.annotation.Resource;
|
//import javax.servlet.ServletException;
|
//import javax.servlet.http.HttpServletRequest;
|
//import javax.servlet.http.HttpServletResponse;
|
//import java.io.IOException;
|
//
|
///**
|
// * Spring Security配置
|
// *
|
// */
|
//@Configuration
|
//@EnableWebSecurity
|
//@EnableGlobalMethodSecurity(prePostEnabled = true)
|
//public class SecurityConfig extends WebSecurityConfigurerAdapter {
|
//
|
// public static final String[] FILTER_PATH = new String[]{
|
// "/test/**",
|
// "/rpc/**",
|
// "/api/login",
|
// "/druid/**",
|
// "/swagger-ui.html",
|
// "/swagger-resources/**",
|
// "/webjars/**",
|
// "/v2/api-docs",
|
// "/v3/api-docs",
|
// "/swagger-ui/**"
|
// };
|
//
|
// @Resource
|
// private JwtAccessDeniedHandler jwtAccessDeniedHandler;
|
// @Resource
|
// private JwtAuthenticationEntryPoint jwtAuthenticationEntryPoint;
|
// @Resource
|
// private JwtAuthenticationFilter jwtAuthenticationFilter;
|
//
|
// @Override
|
// protected void configure(HttpSecurity http) throws Exception {
|
// http.authorizeRequests()
|
// .antMatchers(HttpMethod.OPTIONS, "/**")
|
// .permitAll()
|
// .antMatchers(HttpMethod.GET, "/api/file/**", "/api/captcha", "/")
|
// .permitAll()
|
// .antMatchers(FILTER_PATH)
|
// .permitAll()
|
// .anyRequest()
|
// .authenticated()
|
// .and()
|
// .sessionManagement()
|
// .sessionCreationPolicy(SessionCreationPolicy.STATELESS)
|
// .and()
|
// .csrf()
|
// .disable()
|
// .cors()
|
// .and()
|
// .logout()
|
// .disable()
|
// .headers()
|
// .frameOptions()
|
// .disable()
|
// .and()
|
// .exceptionHandling()
|
// .accessDeniedHandler(jwtAccessDeniedHandler)
|
// .authenticationEntryPoint(jwtAuthenticationEntryPoint)
|
// .and()
|
// .addFilterBefore(jwtAuthenticationFilter, UsernamePasswordAuthenticationFilter.class);
|
// }
|
//
|
// @Bean
|
// public BCryptPasswordEncoder bCryptPasswordEncoder() {
|
// return new BCryptPasswordEncoder();
|
// }
|
//
|
// // 没有访问权限异常处理
|
// @Component
|
// static class JwtAccessDeniedHandler implements AccessDeniedHandler {
|
//
|
// @Override
|
// public void handle(HttpServletRequest request, HttpServletResponse response, AccessDeniedException e)
|
// throws IOException, ServletException {
|
// CommonUtil.responseError(response, Constants.UNAUTHORIZED_CODE, Constants.UNAUTHORIZED_MSG, e.getMessage());
|
// }
|
//
|
// }
|
//
|
// // 没有登录异常处理
|
// @Component
|
// static class JwtAuthenticationEntryPoint implements AuthenticationEntryPoint {
|
//
|
// @Override
|
// public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException e)
|
// throws IOException, ServletException {
|
// CommonUtil.responseError(response, Constants.UNAUTHENTICATED_CODE, Constants.UNAUTHENTICATED_MSG,
|
// e.getMessage());
|
// }
|
//
|
// }
|
//
|
//}
|