|
@@ -12,6 +12,8 @@ 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.security.web.authentication.logout.LogoutFilter;
|
|
|
+import org.springframework.web.filter.CorsFilter;
|
|
|
import com.ruoyi.framework.security.filter.JwtAuthenticationTokenFilter;
|
|
|
import com.ruoyi.framework.security.handle.AuthenticationEntryPointImpl;
|
|
|
import com.ruoyi.framework.security.handle.LogoutSuccessHandlerImpl;
|
|
@@ -47,6 +49,12 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
|
|
|
*/
|
|
|
@Autowired
|
|
|
private JwtAuthenticationTokenFilter authenticationTokenFilter;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 跨域过滤器
|
|
|
+ */
|
|
|
+ @Autowired
|
|
|
+ private CorsFilter corsFilter;
|
|
|
|
|
|
/**
|
|
|
* 解决 无法直接注入 AuthenticationManager
|
|
@@ -112,6 +120,9 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
|
|
|
httpSecurity.logout().logoutUrl("/logout").logoutSuccessHandler(logoutSuccessHandler);
|
|
|
// 添加JWT filter
|
|
|
httpSecurity.addFilterBefore(authenticationTokenFilter, UsernamePasswordAuthenticationFilter.class);
|
|
|
+ // 添加CORS filter
|
|
|
+ httpSecurity.addFilterBefore(corsFilter, JwtAuthenticationTokenFilter.class);
|
|
|
+ httpSecurity.addFilterBefore(corsFilter, LogoutFilter.class);
|
|
|
}
|
|
|
|
|
|
|